Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ListenerInfo ¶
type ListenerInfo struct { // Application protocol identifier. Protocol string // Node identity Identity peer.ID // Local protocol stream address. Address ma.Multiaddr // Local protocol stream listener. Closer io.Closer // Flag indicating whether we're still accepting incoming connections, or // whether this application listener has been shutdown. Running bool Registry *ListenerRegistry }
ListenerInfo holds information on a p2p listener.
func (*ListenerInfo) Close ¶
func (c *ListenerInfo) Close() error
Close closes the listener. Does not affect child streams
type ListenerRegistry ¶
type ListenerRegistry struct {
Listeners []*ListenerInfo
}
ListenerRegistry is a collection of local application protocol listeners.
func (*ListenerRegistry) Deregister ¶
func (c *ListenerRegistry) Deregister(proto string) error
Deregister removes p2p listener from this registry
func (*ListenerRegistry) Register ¶
func (c *ListenerRegistry) Register(listenerInfo *ListenerInfo)
Register registers listenerInfo2 in this registry
type P2P ¶
type P2P struct { Listeners ListenerRegistry Streams StreamRegistry // contains filtered or unexported fields }
P2P structure holds information on currently running streams/listeners
func (*P2P) CheckProtoExists ¶
CheckProtoExists checks whether a protocol handler is registered to mux handler
func (*P2P) Dial ¶
func (p2p *P2P) Dial(ctx context.Context, addr ma.Multiaddr, peer peer.ID, proto string, bindAddr ma.Multiaddr) (*ListenerInfo, error)
Dial creates new P2P stream to a remote listener
func (*P2P) NewListener ¶
func (p2p *P2P) NewListener(ctx context.Context, proto string, addr ma.Multiaddr) (*ListenerInfo, error)
NewListener creates new p2p listener
type P2PListener ¶
type P2PListener struct {
// contains filtered or unexported fields
}
P2PListener holds information on a listener
func (*P2PListener) Accept ¶
func (il *P2PListener) Accept() (net.Stream, error)
Accept waits for a connection from the listener
func (*P2PListener) Close ¶
func (il *P2PListener) Close() error
Close closes the listener and removes stream handler
type StreamInfo ¶
type StreamInfo struct { HandlerID uint64 Protocol string LocalPeer peer.ID LocalAddr ma.Multiaddr RemotePeer peer.ID RemoteAddr ma.Multiaddr Local io.ReadWriteCloser Remote io.ReadWriteCloser Registry *StreamRegistry }
StreamInfo holds information on active incoming and outgoing p2p streams.
func (*StreamInfo) Close ¶
func (s *StreamInfo) Close() error
Close closes stream endpoints and deregisters it
type StreamRegistry ¶
type StreamRegistry struct { Streams []*StreamInfo // contains filtered or unexported fields }
StreamRegistry is a collection of active incoming and outgoing protocol app streams.
func (*StreamRegistry) Deregister ¶
func (c *StreamRegistry) Deregister(handlerID uint64)
Deregister deregisters stream from the registry
func (*StreamRegistry) Register ¶
func (c *StreamRegistry) Register(streamInfo *StreamInfo)
Register registers a stream to the registry