Documentation
¶
Index ¶
Constants ¶
View Source
const ( // DiscoveryInterval is how often we re-publish our mDNS records. DiscoveryInterval = time.Second // DiscoveryServiceTag is used in our mDNS advertisements to discover other chat peers. DiscoveryServiceTag = "bloxstaking.ssv" // MsgChanSize is the buffer size of the message channel MsgChanSize = 128 )
View Source
const (
// UserAgentKey is the key for storing to the user agent value
UserAgentKey = "user-agent"
)
Variables ¶
This section is empty.
Functions ¶
func NewSyncStream ¶ added in v0.1.5
func NewSyncStream(stream core.Stream) network.SyncStream
NewSyncStream returns a new instance of syncStream
func TransformEnr ¶ added in v0.0.4
TransformEnr converts defaults enr value and convert it to slice
Types ¶
type Config ¶
type Config struct {
// yaml/env arguments
Enr string `yaml:"Enr" env:"ENR_KEY" env-description:"enr used in discovery" env-default:""`
DiscoveryType string `yaml:"DiscoveryType" env:"DISCOVERY_TYPE_KEY" env-description:"Method to use in discovery" env-default:"discv5"`
TCPPort int `yaml:"TcpPort" env:"TCP_PORT" env-default:"13000"`
UDPPort int `yaml:"UdpPort" env:"UDP_PORT" env-default:"12000"`
HostAddress string `yaml:"HostAddress" env:"HOST_ADDRESS" env-required:"true" env-description:"External ip node is exposed for discovery"`
HostDNS string `yaml:"HostDNS" env:"HOST_DNS" env-description:"External DNS node is exposed for discovery"`
RequestTimeout time.Duration `yaml:"RequestTimeout" env:"P2P_REQUEST_TIMEOUT" env-default:"5s"`
MaxBatchResponse uint64 `` /* 133-byte string literal not displayed */
PubSubTraceOut string `yaml:"PubSubTraceOut" env:"PUBSUB_TRACE_OUT" env-description:"File path to hold collected pubsub traces"`
NetworkTrace bool `yaml:"NetworkTrace" env:"NETWORK_TRACE" env-description:"A boolean flag to turn on network debugging"`
ExporterPeerID string `` /* 152-byte string literal not displayed */
Fork forks.Fork
// objects / instances
HostID peer.ID
Topics map[string]*pubsub.Topic
BootnodesENRs []string
// NetworkPrivateKey is used for network identity
NetworkPrivateKey *ecdsa.PrivateKey
// OperatorPrivateKey is used for operator identity
OperatorPrivateKey *rsa.PrivateKey
// ReportLastMsg whether to report last msg metric
ReportLastMsg bool
// NodeType differentiate exporters peers from others
NodeType NodeType
}
Config - describe the config options for p2p network
type NodeType ¶ added in v0.1.5
type NodeType int64
NodeType indicate node operation type. In purpose for distinguish between different types of peers
func (NodeType) FromString ¶ added in v0.1.5
FromString convert string to NodeType. If not exist, return Unknown
type PeersIndex ¶ added in v0.1.2
type PeersIndex interface {
Run()
GetPeerData(pid, key string) string
IndexPeer(conn network.Conn)
}
PeersIndex is responsible for indexing peers information index data is not persisted at the moment
func NewPeersIndex ¶ added in v0.1.2
NewPeersIndex creates a new instance
Click to show internal directories.
Click to hide internal directories.