Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Stream ¶
type Stream interface { // ID returns the id of the stream ID() string io.Closer // CloseWrite closes the stream for writing but leaves it open for // reading. It does not free the stream, a call Close or // Reset is required. CloseWrite() error // 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.
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.