Functionality §
- Rate limit the number of messages passed to the delivery service.
- The rate limit is set in a form of number of messages per epoch; same format as RLN Relay.
- Tracks current quota and usage.
- Messages can be flagged with three priorities level: critical, normal, optional.
- When remaining message quota is low, critical messages are sent, normal messages are queued and optional messages are dropped.
- When message quote is exhausted, critical messages are queued on top, normal messages are queued, optional messages are dropped.
- Can consume RLN API to access rate limit and current quota.
Usability §
- Developer can mark messages with relevant priority.
- Developer can pass messages by batch; with an all-or-none sending strategy.
- Developer can access total quota and remaining quota values.
- Message status is available to the developer (queued, dropped, passed to delivery service).
Reliability §
- Errors and status from the underlying delivery service are available to the developer.
- Queued messages are persisted across restart.
- Quota status is persisted across restart.
- …
Supportability §
- Nim library.
+ (Privacy, Anonymity, Deployments) §
- Nimble package manager is used to build.