Versions in this module Expand all Collapse all v1 v1.0.0 Jul 21, 2022 Changes in this version + func NoPrecondition(Peer) bool + func TLSConfig(cert tls.Certificate) *tls.Config + type Config struct + Beacons validators.Set + Clock mockable.Clock + InboundMsgThrottler throttling.InboundMsgThrottler + LastReceived int64 + LastSent int64 + Log logging.Logger + MaxClockDifference time.Duration + MessageCreator message.Creator + Metrics *Metrics + MySubnets ids.Set + Network Network + NetworkID uint32 + PingFrequency time.Duration + PingMessage message.OutboundMessage + PongTimeout time.Duration + ReadBufferSize int + ResourceTracker tracker.ResourceTracker + Router router.InboundHandler + VersionCompatibility version.Compatibility + VersionParser version.ApplicationParser + WriteBufferSize int + type Info struct + ID ids.NodeID + IP string + LastReceived time.Time + LastSent time.Time + ObservedUptime json.Uint8 + PublicIP string + TrackedSubnets []ids.ID + Version string + type MessageMetrics struct + NumFailed prometheus.Counter + NumReceived prometheus.Counter + NumSent prometheus.Counter + ReceivedBytes prometheus.Counter + SavedReceivedBytes metric.Averager + SavedSentBytes metric.Averager + SentBytes prometheus.Counter + func NewMessageMetrics(op message.Op, namespace string, metrics prometheus.Registerer, ...) *MessageMetrics + type MessageQueue interface + Close func() + Pop func() (message.OutboundMessage, bool) + PopNow func() (message.OutboundMessage, bool) + Push func(ctx context.Context, msg message.OutboundMessage) bool + func NewBlockingMessageQueue(onFailed SendFailedCallback, log logging.Logger, bufferSize int) MessageQueue + func NewThrottledMessageQueue(onFailed SendFailedCallback, id ids.NodeID, log logging.Logger, ...) MessageQueue + type Metrics struct + FailedToParse prometheus.Counter + Log logging.Logger + MessageMetrics map[message.Op]*MessageMetrics + NumUselessPeerListBytes prometheus.Counter + func NewMetrics(log logging.Logger, namespace string, registerer prometheus.Registerer) (*Metrics, error) + func (m *Metrics) MultipleSendsFailed(op message.Op, count int) + func (m *Metrics) Received(msg message.InboundMessage, msgLen uint32) + func (m *Metrics) SendFailed(msg message.OutboundMessage) + func (m *Metrics) Sent(msg message.OutboundMessage) + type Network interface + AllowConnection func(ids.NodeID) bool + Connected func(ids.NodeID) + Disconnected func(ids.NodeID) + Peers func() (message.OutboundMessage, error) + Pong func(ids.NodeID) (message.OutboundMessage, error) + Track func(ips.ClaimedIPPort) bool + Version func() (message.OutboundMessage, error) + func NewTestNetwork(mc message.Creator, networkID uint32, ipPort ips.IPPort, ...) Network + type Peer interface + AwaitClosed func(ctx context.Context) error + AwaitReady func(ctx context.Context) error + Cert func() *x509.Certificate + Closed func() bool + ID func() ids.NodeID + IP func() *SignedIP + Info func() Info + LastReceived func() time.Time + LastSent func() time.Time + ObservedUptime func() uint8 + Ready func() bool + Send func(ctx context.Context, msg message.OutboundMessage) bool + StartClose func() + TrackedSubnets func() ids.Set + Version func() version.Application + func Start(config *Config, conn net.Conn, cert *x509.Certificate, id ids.NodeID, ...) Peer + func StartTestPeer(ctx context.Context, ip ips.IPPort, networkID uint32, ...) (Peer, error) + type SendFailedCallback interface + SendFailed func(message.OutboundMessage) + type SendFailedFunc func(message.OutboundMessage) + func (f SendFailedFunc) SendFailed(msg message.OutboundMessage) + type Set interface + Add func(peer Peer) + AllInfo func() []Info + GetByID func(nodeID ids.NodeID) (Peer, bool) + GetByIndex func(index int) (Peer, bool) + Info func(nodeIDs []ids.NodeID) []Info + Len func() int + Remove func(nodeID ids.NodeID) + Sample func(n int, precondition func(Peer) bool) []Peer + func NewSet() Set + type SignedIP struct + IP UnsignedIP + Signature []byte + func (ip *SignedIP) Verify(cert *x509.Certificate) error + type UnsignedIP struct + IP ips.IPPort + Timestamp uint64 + func (ip *UnsignedIP) Sign(signer crypto.Signer) (*SignedIP, error) + type Upgrader interface + Upgrade func(net.Conn) (ids.NodeID, net.Conn, *x509.Certificate, error) + func NewTLSClientUpgrader(config *tls.Config) Upgrader + func NewTLSServerUpgrader(config *tls.Config) Upgrader v1.0.0-alpha Nov 22, 2022