diff --git a/p2p/muxer/mplex/conn.go b/p2p/muxer/mplex/conn.go index e07a72c6c0..c8bcb4788c 100644 --- a/p2p/muxer/mplex/conn.go +++ b/p2p/muxer/mplex/conn.go @@ -3,12 +3,15 @@ package peerstream_multiplex import ( "context" - "github.com/libp2p/go-libp2p-core/mux" + "github.com/libp2p/go-libp2p-core/network" + mp "github.com/libp2p/go-mplex" ) type conn mp.Multiplex +var _ network.MuxedConn = &conn{} + func (c *conn) Close() error { return c.mplex().Close() } @@ -18,7 +21,7 @@ func (c *conn) IsClosed() bool { } // OpenStream creates a new stream. -func (c *conn) OpenStream(ctx context.Context) (mux.MuxedStream, error) { +func (c *conn) OpenStream(ctx context.Context) (network.MuxedStream, error) { s, err := c.mplex().NewStream(ctx) if err != nil { return nil, err @@ -27,7 +30,7 @@ func (c *conn) OpenStream(ctx context.Context) (mux.MuxedStream, error) { } // AcceptStream accepts a stream opened by the other side. -func (c *conn) AcceptStream() (mux.MuxedStream, error) { +func (c *conn) AcceptStream() (network.MuxedStream, error) { s, err := c.mplex().Accept() if err != nil { return nil, err @@ -38,5 +41,3 @@ func (c *conn) AcceptStream() (mux.MuxedStream, error) { func (c *conn) mplex() *mp.Multiplex { return (*mp.Multiplex)(c) } - -var _ mux.MuxedConn = &conn{} diff --git a/p2p/muxer/mplex/stream.go b/p2p/muxer/mplex/stream.go index 6ef57c335c..0a841824ff 100644 --- a/p2p/muxer/mplex/stream.go +++ b/p2p/muxer/mplex/stream.go @@ -3,17 +3,20 @@ package peerstream_multiplex import ( "time" - "github.com/libp2p/go-libp2p-core/mux" + "github.com/libp2p/go-libp2p-core/network" + mp "github.com/libp2p/go-mplex" ) -// stream implements mux.MuxedStream over mplex.Stream. +// stream implements network.MuxedStream over mplex.Stream. type stream mp.Stream +var _ network.MuxedStream = &stream{} + func (s *stream) Read(b []byte) (n int, err error) { n, err = s.mplex().Read(b) if err == mp.ErrStreamReset { - err = mux.ErrReset + err = network.ErrReset } return n, err @@ -22,7 +25,7 @@ func (s *stream) Read(b []byte) (n int, err error) { func (s *stream) Write(b []byte) (n int, err error) { n, err = s.mplex().Write(b) if err == mp.ErrStreamReset { - err = mux.ErrReset + err = network.ErrReset } return n, err @@ -59,5 +62,3 @@ func (s *stream) SetWriteDeadline(t time.Time) error { func (s *stream) mplex() *mp.Stream { return (*mp.Stream)(s) } - -var _ mux.MuxedStream = &stream{} diff --git a/p2p/muxer/mplex/transport.go b/p2p/muxer/mplex/transport.go index 395b855383..ac08b9b656 100644 --- a/p2p/muxer/mplex/transport.go +++ b/p2p/muxer/mplex/transport.go @@ -3,7 +3,7 @@ package peerstream_multiplex import ( "net" - "github.com/libp2p/go-libp2p-core/mux" + "github.com/libp2p/go-libp2p-core/network" mp "github.com/libp2p/go-mplex" ) @@ -11,12 +11,12 @@ import ( // DefaultTransport has default settings for Transport var DefaultTransport = &Transport{} +var _ network.Multiplexer = &Transport{} + // Transport implements mux.Multiplexer that constructs // mplex-backed muxed connections. type Transport struct{} -func (t *Transport) NewConn(nc net.Conn, isServer bool) (mux.MuxedConn, error) { - return (*conn)(mp.NewMultiplex(nc, isServer)), nil +func (t *Transport) NewConn(nc net.Conn, isServer bool, scope network.PeerScope) (network.MuxedConn, error) { + return (*conn)(mp.NewMultiplex(nc, isServer, scope)), nil } - -var _ mux.Multiplexer = &Transport{}