go-multistream
go-multistream copied to clipboard
an implementation of the multistream protocol in go
It looks like this was supposed to be "delim" write all -- "delitm" doesn't mean anything. Also skip casting the bytes slice to a string before formatting as %s, as...
@Stebalien suggested to replace the `AddHandler` (which gets passed a callback) with a `Listen(... protocol.ID)` function, returning a `Listener`, on which an `Accept` method could be called to accept streams....
Both initiator and responder now time out if reads and/or writes are blocked for 30 seconds (default negotiation timeout). Introduces two tests to validate the new behaviour. Fixes #47. Addresses...
See https://github.com/filecoin-project/lotus/issues/518. Proposed solution is to set deadlines on the underlying I/O object.
Setup: * Peer A supports protocol `protocolA`. * Peer B supports protocol `protocolB`. Using the lazy handshake protocol, peer A can send: ``` /multistream/1.0.0 /protocolA/1.0.0 ``` Then, as the first...
Motivation: As it stands, multiple, independent services trying to use the same libp2p swarm can clobber each-other's protocol handlers without noticing. This is fine when protocol registration is all centrally...
1. It never actually worked (we always used the text match). 2. It made it impossible to accurately list protocols (required by the protocol). reverts c9587f16af873eced8fd29ea66c9c777d5c35d09 Alternatively (I'd actually prefer...
When the handlerfunc for a particular handler is called, we should signal which protocol was selected. This will make it easier for application logic to change its behaviour based on...
New error type to let the caller know about unrecognized responses. Useful in detecting TCP simultaneous open errors.