getlantern / getlantern/unbounded
Revisit systemwide mux/demux protocol post-MVP
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 57
- Forks
- 1
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 13
Description
Our system has the internal plumbing required for sophisticated N:M multiplexing, but we've currently turned it off via a demux hack.
In single-hop routing, real muxing between upstream and downstream routers is (theoretically) pretty easy. If route and backRoute are functions of smux client or stream IDs instead of worker IDs, I think things just work.
Multi-hop routing is harder. Each peer in a chain represents another layer of multiplexing. Do we need to implement our own muxing protocol for that? If yes, it might simply be an adaptation of smux or yamux etc...
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
Start with client/go/routing.go at the referenced demux hack and trace how route and backRoute use worker IDs. Compare the single-hop and multi-hop routing paths, then investigate whether an existing mux such as smux or yamux could meet the protocol needs. Done means a decided and specified approach for systemwide multiplexing after the MVP.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100