go-libp2p-core/protocol/switch.go

37 lines
1.6 KiB
Go
Raw Normal View History

// Package protocol provides core interfaces for protocol routing and negotiation in libp2p.
package protocol
import (
2022-08-18 23:54:48 +08:00
"github.com/libp2p/go-libp2p/core/protocol"
)
// HandlerFunc is a user-provided function used by the Router to
// handle a protocol/stream.
//
// Will be invoked with the protocol ID string as the first argument,
// which may differ from the ID used for registration if the handler
// was registered using a match function.
2022-08-18 23:54:48 +08:00
// Deprecated: use github.com/libp2p/go-libp2p/core/protocol.HandlerFunc instead
type HandlerFunc = protocol.HandlerFunc
// Router is an interface that allows users to add and remove protocol handlers,
// which will be invoked when incoming stream requests for registered protocols
// are accepted.
//
// Upon receiving an incoming stream request, the Router will check all registered
// protocol handlers to determine which (if any) is capable of handling the stream.
// The handlers are checked in order of registration; if multiple handlers are
// eligible, only the first to be registered will be invoked.
2022-08-18 23:54:48 +08:00
// Deprecated: use github.com/libp2p/go-libp2p/core/protocol.Router instead
type Router = protocol.Router
// Negotiator is a component capable of reaching agreement over what protocols
// to use for inbound streams of communication.
2022-08-18 23:54:48 +08:00
// Deprecated: use github.com/libp2p/go-libp2p/core/protocol.Negotiator instead
type Negotiator = protocol.Negotiator
// Switch is the component responsible for "dispatching" incoming stream requests to
// their corresponding stream handlers. It is both a Negotiator and a Router.
2022-08-18 23:54:48 +08:00
// Deprecated: use github.com/libp2p/go-libp2p/core/protocol.Switch instead
type Switch = protocol.Switch