-
Notifications
You must be signed in to change notification settings - Fork 3
Labels
squad: hermeticsHermes Backend, System Development & Integration TeamHermes Backend, System Development & Integration Team
Description
Summary
.new topic
Description
Implement the .new topic for document announcements in the Document Sync Protocol. This covers subscription, broadcasting new doc, keepalive, and timers and retries.
Task
1. Subscription
- Subscribe to
<base>.newduring channel initialization
2. Boardcasting new document
- The pre-publish check should be covered in 🛠️ [TASK]: Hermes needs to run the pre-publish checks before publishing a new document to IPFS PubSub #630
- Boardcasting doc on
<base>.new- duringpost
3. Keep alive mechanism When there is no new doc to be publish, this need to be triggered
3.1 Quiet-Period Timer
- Maintain per-channel quiet-period timer
- Timer duration: uniform random in [20s, 60s] with jitter
- Reset timer when any .new message is received on the channel
- Rate-limit to avoid sending more than one keepalive per
Tquietinterval
3.2 Keepalive Publishing
- On timer expire (if no new documents to publish), publish
.newwithdocs=[]
Out of scope notes
- Message envelope construction/verification
- Receiving and processing .new messages
Metadata
Metadata
Labels
squad: hermeticsHermes Backend, System Development & Integration TeamHermes Backend, System Development & Integration Team
Type
Projects
Status
🏗 In progress