Documentation ¶
Overview ¶
nolint
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotConnected = errors.New("peer is not connected")
ErrNotConnected is returned when peer is not connected.
Functions ¶
This section is empty.
Types ¶
type Host ¶ added in v1.0.0
type Host interface { SetStreamHandler(protocol.ID, network.StreamHandler) NewStream(context.Context, peer.ID, ...protocol.ID) (network.Stream, error) Network() network.Network }
Host is a subset of libp2p Host interface that needs to be implemented to be usable with server.
type Opt ¶ added in v1.0.0
type Opt func(s *Server)
Opt is a type to configure a server.
func WithMetrics ¶ added in v1.3.0
func WithMetrics() Opt
WithMetrics will enable metrics collection in the server.
func WithQueueSize ¶ added in v1.3.0
WithQueueSize parametrize number of message that will be kept in queue and eventually processed by server. Otherwise stream is closed immediately.
Size of the queue should be set to account for maximum expected latency, such as if expected latency is 10s and server processes 1000 requests per second size should be 100.
Defaults to 100.
func WithRequestSizeLimit ¶ added in v1.0.0
func WithRequestsPerInterval ¶ added in v1.3.0
WithRequestsPerInterval parametrizes server rate limit to limit maximum amount of bandwidth that this handler can consume.
Defaults to 100 requests per second.
func WithTimeout ¶ added in v1.0.0
WithTimeout configures stream timeout.
type Response ¶ added in v1.0.0
type Response struct { Data []byte `scale:"max=41943040"` // 40 MiB Error string `scale:"max=1024"` // TODO(mafa): make error code instead of string }
Response is a server response.
func (*Response) DecodeScale ¶ added in v1.0.0
func (*Response) EncodeScale ¶ added in v1.0.0
type Server ¶ added in v1.0.0
type Server struct {
// contains filtered or unexported fields
}
Server for the Handler.
func (*Server) Request ¶ added in v1.0.0
func (s *Server) Request( ctx context.Context, pid peer.ID, req []byte, resp func([]byte), failure func(error), ) error
Request sends a binary request to the peer. Request is executed in the background, one of the callbacks is guaranteed to be called on success/error.