Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Stream ¶
type Stream interface { core.Stream // ReadWithTimeout will read bytes from stream and return the result, will return error if timeout or error. // does not close stream when returns ReadWithTimeout(timeout time.Duration) ([]byte, error) // WriteWithTimeout will write bytes to stream, will return error if timeout or error. // does not close stream when returns WriteWithTimeout(data []byte, timeout time.Duration) error }
Stream represents a stream in the system
type StreamController ¶
type StreamController interface { // Request sends a message to the given stream and returns the response Request(logger *zap.Logger, peerID peer.ID, protocol protocol.ID, msg []byte) ([]byte, error) // HandleStream is called at the beginning of stream handlers to create a wrapper stream and read first message HandleStream(logger *zap.Logger, stream core.Stream) ([]byte, StreamResponder, func(), error) }
StreamController simplifies the interaction with libp2p streams.
func NewStreamController ¶
func NewStreamController(ctx context.Context, host host.Host, dialTimeout, readWriteTimeout time.Duration) StreamController
NewStreamController create a new instance of StreamController
type StreamResponder ¶
StreamResponder abstracts the stream access with a simpler interface that accepts only the data to send
Click to show internal directories.
Click to hide internal directories.