Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotTransportDialer is returned if a Transport does not implement TransportDialer. ErrNotTransportDialer = errors.New("transport does not implement a dialer") )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config interface { // Config indicates this is a controllerbus config. config.Config // Debuggable indicates this config is debuggable. config.Debuggable // GetTransportPeerId returns the node peer ID constraint. GetTransportPeerId() string // SetTransportPeerId sets the node peer ID field. SetTransportPeerId(peerID string) }
Config contains common parameters all transport configs must have.
type Controller ¶
type Controller interface { // Controller is the controllerbus controller interface. controller.Controller // GetTransport returns the controlled transport. // This may wait for the controller to be ready. GetTransport(ctx context.Context) (Transport, error) }
Controller is a transport controller.
type LookupTransport ¶
type LookupTransport interface { // Directive indicates LookupTransport is a directive. directive.Directive // LookupTransportPeerIDConstraint returns a specific node ID we are looking for. // Can be empty. LookupTransportPeerIDConstraint() peer.ID // LookupTransportIDConstraint returns a specific transport ID we are looking for. // Can be empty. LookupTransportIDConstraint() uint64 }
LookupTransport is a directive to lookup running transports. Value type: transport.Transport.
func NewLookupTransport ¶
func NewLookupTransport(peerID peer.ID, transportID uint64) LookupTransport
NewLookupTransport constructs a new LookupTransport directive.
type Transport ¶
type Transport interface { // Execute executes the transport as configured, returning any fatal error. Execute(ctx context.Context) error // GetUUID returns a host-unique ID for this transport. GetUUID() uint64 // GetPeerID returns the peer ID. GetPeerID() peer.ID // Close closes the transport, returning any errors closing. Close() error }
Transport is similar to a NIC, yielding links to remote peers.
type TransportHandler ¶
type TransportHandler interface { // HandleLinkEstablished is called when a link is established. HandleLinkEstablished(lnk link.Link) // HandleLinkLost is called when a link is lost. HandleLinkLost(lnk link.Link) }
TransportHandler manages a Transport and receives event callbacks. This is typically fulfilled by the transport controller.
Click to show internal directories.
Click to hide internal directories.