Offline Message Queue
Open
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 38
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
There's an open problem we'd like to resolve:
- User A generates some content and adds it to IPFS. They want to deliver this content to user B.
- User A tries to connect to user B. However, it turns user B is offline.
- User A goes offline.
Currently, we have no good way to deliver this information to user B. Textile uses the DHT as follows:
- User A fails to connect to user B.
- User A puts
PeerIdOf(UserB) -> CidOf(content)to the DHT (treating the DHT as a sloppy hash table). - When user B comes online, they find themselves in the DHT and download their messages.
- Finally, they send an ACK back to user A (using the same mechanism).
Unfortunately:
- This is relying a lot on potentially ephemeral nodes.
- There's no way to remove these messages from the DHT until they expire (see: https://github.com/libp2p/go-libp2p-kad-dht/issues/196).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files, tests, or entry points are named. Start by reviewing the proposed Textile DHT flow and the linked go-libp2p-kad-dht issue, then establish an agreed design for reliable offline delivery, message removal, and acknowledgements before implementation.
Written by the indexing model from the issue text.
Assessment
- Domain
- distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100