Documentation
¶
Index ¶
Constants ¶
View Source
const ( // MaxOCRMsgLength is the maximum allowed length for a data payload in bytes // This is exported as serialization tests depend on it. // NOTE: This is slightly larger than 2x of the largest message we can // possibly send, assuming N=31. MaxOCRMsgLength = 10000 )
Variables ¶
This section is empty.
Functions ¶
func NewPeer ¶
func NewPeer(c PeerConfig) (*concretePeerV2, error)
Users are expected to create (using the OCR*Factory() methods) and close endpoints and bootstrappers before calling Close() on the peer itself.
Types ¶
type EndpointConfigV2 ¶
type EndpointConfigV2 struct {
// IncomingMessageBufferSize is the per-remote number of incoming
// messages to buffer. Any additional messages received on top of those
// already in the queue will be dropped.
IncomingMessageBufferSize int
// OutgoingMessageBufferSize is the per-remote number of outgoing
// messages to buffer. Any additional messages send on top of those
// already in the queue will displace the oldest.
// NOTE: OutgoingMessageBufferSize should be comfortably smaller than remote's
// IncomingMessageBufferSize to give the remote enough space to process
// them all in case we regained connection and now send a bunch at once
OutgoingMessageBufferSize int
}
type PeerConfig ¶
type PeerConfig struct {
PrivKey ed25519.PrivateKey
Logger commontypes.Logger
// V2ListenAddresses contains the addresses the peer will listen to on the network in <ip>:<port> form as
// accepted by net.Listen.
V2ListenAddresses []string
// V2AnnounceAddresses contains the addresses the peer will advertise on the network in <host>:<port> form as
// accepted by net.Dial. The addresses should be reachable by peers of interest.
// May be left unspecified, in which case the announce addresses are auto-detected based on V2ListenAddresses.
V2AnnounceAddresses []string
// Every V2DeltaReconcile a Reconcile message is sent to every peer.
V2DeltaReconcile time.Duration
// Dial attempts will be at least V2DeltaDial apart.
V2DeltaDial time.Duration
V2DiscovererDatabase nettypes.DiscovererDatabase
V2EndpointConfig EndpointConfigV2
MetricsRegisterer prometheus.Registerer
LatencyMetricsServiceConfigs []*rageping.LatencyMetricsServiceConfig
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.