Documentation
¶
Index ¶
- type Listener
- type Listeners
- type P2P
- func (p2p *P2P) CheckProtoExists(proto string) bool
- func (p2p *P2P) ForwardLocal(ctx context.Context, peer peer.ID, proto protocol.ID, bindAddr ma.Multiaddr) (Listener, error)
- func (p2p *P2P) ForwardRemote(ctx context.Context, proto protocol.ID, addr ma.Multiaddr, reportRemote bool) (Listener, error)
- type Stream
- type StreamRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Listener ¶
type Listener interface {
Protocol() protocol.ID
ListenAddress() ma.Multiaddr
TargetAddress() ma.Multiaddr
// contains filtered or unexported methods
}
Listener listens for connections and proxies them to a target
type Listeners ¶
Listeners manages a group of Listener implementations, checking for conflicts and optionally dispatching connections
type P2P ¶
type P2P struct {
ListenersLocal *Listeners
ListenersP2P *Listeners
Streams *StreamRegistry
// contains filtered or unexported fields
}
P2P structure holds information on currently running streams/Listeners
func (*P2P) CheckProtoExists ¶
CheckProtoExists checks whether a proto handler is registered to mux handler
type Stream ¶
type Stream struct {
Protocol protocol.ID
OriginAddr ma.Multiaddr
TargetAddr ma.Multiaddr
Local manet.Conn
Remote net.Stream
Registry *StreamRegistry
// contains filtered or unexported fields
}
Stream holds information on active incoming and outgoing p2p streams.
type StreamRegistry ¶
type StreamRegistry struct {
sync.Mutex
Streams map[uint64]*Stream
ifconnmgr.ConnManager
// contains filtered or unexported fields
}
StreamRegistry is a collection of active incoming and outgoing proto app streams.
func (*StreamRegistry) Close ¶
func (r *StreamRegistry) Close(s *Stream)
Close stream endpoints and deregister it
func (*StreamRegistry) Deregister ¶
func (r *StreamRegistry) Deregister(streamID uint64)
Deregister deregisters stream from the registry
func (*StreamRegistry) Register ¶
func (r *StreamRegistry) Register(streamInfo *Stream)
Register registers a stream to the registry
func (*StreamRegistry) Reset ¶
func (r *StreamRegistry) Reset(s *Stream)
Reset closes stream endpoints and deregisters it