Okay done for today. Research so far is in this doc: https://paper.dropbox.com/doc/2019-07-17-Hypercore-Network-Protocol--AhNEGkO5FvBBgr7Wt3cPjs3VAg-4B3OhCO3vPtphqT82Lidg … Tl;Dr: hypercore-protocol multiplexes multiple feeds over a single connection, which means we're having two layers of things that need to stream in and out. It's really good, but ooph this isn't easy.
-
-
Show this thread
-
Where "single connection" == AsyncRead + AsyncWrite. Using Hyperswarm this could be backed by a plethora of connection methods, but the interface should remain consistent.
Show this thread -
It doesn't even quite compare to some other multiplexed protocols such as h2, because there isn't a clear distinction between client & server — each instance is both. I'm now wondering if we need a 3-layer hierarchy for this
Show this thread -
Top-level: create a protocol instance that streams bytes in and out. Mid-level: each proto instance can create a channel. Each channel can be split into (n) senders + 1 receiver. Low-level: each receiver emits a stream of events.
Show this thread -
I think actually what we need is a closure in the Protocol constructor to construct new channels from! let proto = Protocol::new(|p| http://p.channel (key)); let (r, w) = proto.split(); // now pipe these parts to the network
Show this thread -
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.