mirror of
https://github.com/logos-messaging/nim-chat-sdk.git
synced 2026-01-10 10:03:09 +00:00
22 lines
594 B
Nim
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
|