Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrPeerAlreadyRegistered = errors.New("peer already registered")
)
Functions ¶
This section is empty.
Types ¶
type Peer ¶
type Peer struct {
// a unique id of the Peer (e.g. sha256 fingerprint of the Wireguard public key)
Id string
StreamID int64
// a gRpc connection stream to the Peer
Stream proto.SignalExchange_ConnectStreamServer
// registration time
RegisteredAt time.Time
Cancel context.CancelFunc
// contains filtered or unexported fields
}
Peer representation of a connected Peer
func NewPeer ¶
func NewPeer(id string, stream proto.SignalExchange_ConnectStreamServer, cancel context.CancelFunc) *Peer
NewPeer creates a new instance of a connected Peer
type Registry ¶
type Registry struct {
// Peer.key -> Peer
Peers sync.Map
// contains filtered or unexported fields
}
Registry that holds all currently connected Peers
func NewRegistry ¶
func NewRegistry(metrics *metrics.AppMetrics) *Registry
NewRegistry creates a new connected Peer registry
func (*Registry) Deregister ¶
Deregister Peer from the Registry (usually once it disconnects)
func (*Registry) IsPeerRegistered ¶
Click to show internal directories.
Click to hide internal directories.