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.