RateLimiter

interface RateLimiter(source)

Rate Limiter 인터페이스

다양한 외부 API에 대한 요청 제한을 관리하기 위한 인터페이스입니다. Token Bucket 알고리즘을 기반으로 동작합니다.

사용 예시:

val rateLimiter = TokenBucketRateLimiter(config)

// 1개 토큰 소비
rateLimiter.acquire()

// 5개 토큰 소비
rateLimiter.acquire(5)

// 현재 상태 확인
val status = rateLimiter.getStatus()
println("Available tokens: ${status.availableTokens}")

Inheritors

Functions

Link copied to clipboard
abstract suspend fun acquire(tokensNeeded: Int = 1)

지정된 개수의 토큰을 소비합니다.

Link copied to clipboard
abstract fun getAvailableTokens(): Int

현재 사용 가능한 토큰의 개수를 반환합니다.

Link copied to clipboard

Rate Limiter의 현재 상태를 반환합니다.

Link copied to clipboard
abstract fun getWaitTimeMillis(): Long

1개 토큰을 획득하는 데 필요한 대기 시간을 밀리초로 반환합니다.