Documentation ¶
Index ¶
- type Peer
- func (p *Peer) AddSubscriber(sub peer.Subscriber)
- func (p *Peer) Agent() peer.Agent
- func (p *Peer) HostPort() string
- func (p *Peer) NumSubscribers() int
- func (p *Peer) RemoveSubscriber(sub peer.Subscriber) error
- func (p *Peer) SetStatus(status peer.ConnectionStatus)
- func (p *Peer) StartRequest() func()
- func (p *Peer) Status() peer.Status
- type PeerIdentifier
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Peer ¶
type Peer struct { PeerIdentifier // contains filtered or unexported fields }
Peer keeps a subscriber to send status updates to it, and the peer.Agent that created it
func NewPeer ¶
func NewPeer(pid PeerIdentifier, agent peer.Agent) *Peer
NewPeer creates a new hostport.Peer from a hostport.PeerIdentifier, peer.Agent, and peer.Subscriber
func (*Peer) AddSubscriber ¶
func (p *Peer) AddSubscriber(sub peer.Subscriber)
AddSubscriber adds a subscriber to the peer's subscriber map This function isn't thread safe
func (*Peer) Agent ¶
Agent returns the peer.Agent that is in charge of this hostport.Peer (and should be the one to handle requests)
func (*Peer) HostPort ¶
HostPort surfaces the HostPort in this function, if you want to access the hostport directly (for a downstream call) You need to cast the Peer to a *hostport.Peer and run this function
func (*Peer) NumSubscribers ¶
NumSubscribers returns the number of subscriptions attached to the peer This function isn't thread safe
func (*Peer) RemoveSubscriber ¶
func (p *Peer) RemoveSubscriber(sub peer.Subscriber) error
RemoveSubscriber removes a subscriber from the peer's subscriber map This function isn't thread safe
func (*Peer) SetStatus ¶
func (p *Peer) SetStatus(status peer.ConnectionStatus)
SetStatus sets the status of the Peer (to be used by the peer.Agent)
func (*Peer) StartRequest ¶
func (p *Peer) StartRequest() func()
StartRequest runs at the beginning of a request and returns a callback for when the request finished
type PeerIdentifier ¶
type PeerIdentifier string
PeerIdentifier uniquely references a host:port combination using a common interface
func (PeerIdentifier) Identifier ¶
func (p PeerIdentifier) Identifier() string
Identifier generates a (should be) unique identifier for this PeerIdentifier (to use in maps, etc)