11package com.sletmoe.bucket4k
22
33import io.github.bucket4j.Bandwidth
4+ import io.github.bucket4j.BandwidthBuilder.BandwidthBuilderBuildStage
5+ import io.github.bucket4j.BandwidthBuilder.BandwidthBuilderCapacityStage
46import io.github.bucket4j.TimeMeter
57
68/* *
@@ -10,11 +12,11 @@ data class SuspendingBucketConfiguration(
1012 /* *
1113 * Set's the TimeMeter to be used by the underlying Bucket4j objects. By default, you may choose either
1214 * TimeMeter.SYSTEM_MILLISECONDS or TimeMeter.SYSTEM_NANOSECONDS. Caution: see Bucket4j's
13- * [documentation about using nanoseconds](https://bucket4j.com/8.2 .0/toc.html#customizing-time-measurement-choosing-nanotime-time-resolution)
15+ * [documentation about using nanoseconds](https://bucket4j.com/8.9 .0/toc.html#customizing-time-measurement-choosing-nanotime-time-resolution)
1416 * before choosing that option.
1517 */
1618 var timeMeter : TimeMeter = TimeMeter .SYSTEM_MILLISECONDS ,
17- private var mutableLimits : MutableList <Bandwidth > = mutableListOf(),
19+ private val mutableLimits : MutableList <Bandwidth > = mutableListOf(),
1820) {
1921 internal val limits: List <Bandwidth >
2022 get() = mutableLimits.toList()
@@ -23,7 +25,16 @@ data class SuspendingBucketConfiguration(
2325 * Adds a [bandwidth] limit to the bucket. See the Bucket4j documentation on [Bandwidths](https://bucket4j.com/8.2.0/toc.html#bandwidth)
2426 * for more information.
2527 */
28+ @Deprecated(" This method is deprecated, you should use `addLimit { ... }`" )
2629 fun addLimit (bandwidth : Bandwidth ) {
2730 mutableLimits.add(bandwidth)
2831 }
32+
33+ /* *
34+ * Adds a [bandwidth] limit to the bucket. See the Bucket4j documentation on [Bandwidths](https://bucket4j.com/8.9.0/toc.html#bandwidth)
35+ * for more information.
36+ */
37+ fun addLimit (limit : BandwidthBuilderCapacityStage .() -> BandwidthBuilderBuildStage ) {
38+ mutableLimits.add(Bandwidth .builder().limit().build())
39+ }
2940}
0 commit comments