You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Rust /plaintext/2.0.0 implementation uses UVI encoding for both the handshake messages as well as all further messages exchanged over the protocol.
The /plaintext/2.0.0 specification is somewhat vague, saying all messages should be UVI encoded, but not whether that includes messages send after the handshake (goodput):
Message Framing
All messages sent over the wire are prefixed with the message length in bytes, encoded as an unsigned variable length integer as defined by the multiformats unsigned-varint spec.
mxinden
changed the title
protocols/plaintext: Resolve incompatibility with Go implementation
protocols/plaintext: Incompatible UVI encoding with Go implementation
Sep 15, 2020
The Golang
/plaintext/2.0.0
implementation uses UVI encoding for the handshake messages only, not for the actual goodput of the protocol.https://github.com/libp2p/go-libp2p-core/blob/master/sec/insecure/insecure.go
The Rust
/plaintext/2.0.0
implementation uses UVI encoding for both the handshake messages as well as all further messages exchanged over the protocol.https://github.com/libp2p/rust-libp2p/blob/master/protocols/plaintext/src/lib.rs#L174
The
/plaintext/2.0.0
specification is somewhat vague, saying all messages should be UVI encoded, but not whether that includes messages send after the handshake (goodput):https://github.com/libp2p/specs/tree/master/plaintext
The text was updated successfully, but these errors were encountered: