RateLimitConfig

data class RateLimitConfig(val capacity: Int = 50, val refillRate: Int = 50, val enabled: Boolean = true, val waitTimeoutMillis: Long = 60000)(source)

Rate Limiter 설정 데이터 클래스

각 API별 Rate Limiting 설정을 정의합니다.

Throws

capacity, refillRate, waitTimeoutMillis가 0 이하인 경우

사용 예시:

// Yahoo Finance API 설정
val yahooConfig = RateLimitConfig(
capacity = 50,
refillRate = 50,
enabled = true,
waitTimeoutMillis = 60000L
)

// FRED API 설정 (120 requests/minute = 2 requests/second)
val fredConfig = RateLimitConfig(
capacity = 2,
refillRate = 2,
enabled = true,
waitTimeoutMillis = 120000L
)

Constructors

Link copied to clipboard
constructor(capacity: Int = 50, refillRate: Int = 50, enabled: Boolean = true, waitTimeoutMillis: Long = 60000)

Properties

Link copied to clipboard
val capacity: Int = 50

최대 토큰 수 (기본값: 50)

Link copied to clipboard
val enabled: Boolean = true

Rate Limiter 활성화 여부 (기본값: true)

Link copied to clipboard

최대 용량까지 리필하는데 필요한 시간(초)을 반환합니다.

Link copied to clipboard

토큰 리필까지 필요한 시간(초)을 반환합니다.

Link copied to clipboard
val refillRate: Int = 50

초당 리필 토큰 수 (기본값: 50)

Link copied to clipboard
val waitTimeoutMillis: Long = 60000

토큰 대기 타임아웃 (밀리초, 기본값: 60000)