mirror of
https://github.com/logos-messaging/nim-chat-sdk.git
synced 2026-01-05 23:53:09 +00:00
22 lines
538 B
Nim
22 lines
538 B
Nim
import std/[times, options]
|
|
import ./store
|
|
import chronos
|
|
|
|
# Memory Implementation
|
|
type MemoryRateLimitStore* = ref object
|
|
bucketState: Option[BucketState]
|
|
|
|
proc new*(T: type[MemoryRateLimitStore]): T =
|
|
return T(bucketState: none(BucketState))
|
|
|
|
proc saveBucketState*(
|
|
store: MemoryRateLimitStore, bucketState: BucketState
|
|
): Future[bool] {.async.} =
|
|
store.bucketState = some(bucketState)
|
|
return true
|
|
|
|
proc loadBucketState*(
|
|
store: MemoryRateLimitStore
|
|
): Future[Option[BucketState]] {.async.} =
|
|
return store.bucketState
|