2025-07-14 11:14:36 +03:00

22 lines
594 B
Nim

import std/times
import ./store
import chronos
# Memory Implementation
type MemoryRateLimitStore* = ref object
bucketState: BucketState
proc newMemoryRateLimitStore*(): MemoryRateLimitStore =
result = MemoryRateLimitStore()
result.bucketState =
BucketState(budget: 10, budgetCap: 10, lastTimeFull: Moment.now())
proc saveBucketState*(
store: MemoryRateLimitStore, bucketState: BucketState
): Future[bool] {.async.} =
store.bucketState = bucketState
return true
proc loadBucketState*(store: MemoryRateLimitStore): Future[BucketState] {.async.} =
return store.bucketState