mirror of
https://github.com/logos-messaging/pm.git
synced 2026-01-02 22:23:09 +00:00
Add rate limit manager furps
This commit is contained in:
parent
d417717926
commit
16c20b1db7
35
FURPS/application/rate_limit_manager.md
Normal file
35
FURPS/application/rate_limit_manager.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Rate Limit Manager FURPS
|
||||
|
||||
## Functionality
|
||||
|
||||
1. Rate limit the number of messages passed to the delivery service.
|
||||
2. The rate limit is set in a form of number of messages per epoch; same format as RLN Relay.
|
||||
3. Tracks current quota and usage.
|
||||
4. Messages can be flagged with three priorities level: critical, normal, optional.
|
||||
5. When remaining message quota is low, critical messages are sent, normal messages are queued and optional messages are dropped.
|
||||
6. When message quote is exhausted, critical messages are queued on top, normal messages are queued, optional messages are dropped.
|
||||
|
||||
## Usability
|
||||
|
||||
1. Developer can mark messages with relevant priority.
|
||||
2. Developer can pass messages by batch; with an all-or-none sending strategy.
|
||||
3. Developer can access total quota and remaining quota values.
|
||||
4. Message status is available to the developer (queued, dropped, passed to delivery service).
|
||||
|
||||
## Reliability
|
||||
|
||||
1. Errors and status from the underlying delivery service are available to the developer.
|
||||
2. Queued messages are persisted across restart.
|
||||
3. Quota status is persisted across restart.
|
||||
|
||||
## Performance
|
||||
|
||||
1. ...
|
||||
|
||||
## Supportability
|
||||
|
||||
1. ...
|
||||
|
||||
## + (Privacy, Anonymity, Deployments)
|
||||
|
||||
1. ...
|
||||
Loading…
x
Reference in New Issue
Block a user