Versions in this module Expand all Collapse all v0 v0.0.1 May 15, 2020 Changes in this version + const ConnectingTimeout + const NoResultsInterval + const UPNPRetries + var ErrBadFormat1 = errors.New("bad msg format, could'nt deserialize 1") + var ErrBadFormat2 = errors.New("bad msg format, could'nt deserialize 2") + var ErrFailDecrypt = errors.New("can't decrypt message payload with session key") + var ErrNoProtocol = errors.New("received msg to an unsupported protocol") + var ErrNoSession = errors.New("connection is missing a session") + var ErrOutOfSync = errors.New("received out of sync msg") + func ExtractData(pm *Payload) (service.Data, error) + func StringIdentifiers(boot ...*Switch) []string + type IntegrationTestSuite struct + AfterHook func(idx int, s NodeTestInstance) + BeforeHook func(idx int, s NodeTestInstance) + BootstrapNodesCount int + BootstrappedNodeCount int + Instances []*Switch + NeighborsCount int + func (its *IntegrationTestSuite) ForAll(f func(idx int, s NodeTestInstance) error, filter []int) []error + func (its *IntegrationTestSuite) ForAllAsync(ctx context.Context, f func(idx int, s NodeTestInstance) error) ([]error, error) + func (its *IntegrationTestSuite) SetupSuite() + func (its *IntegrationTestSuite) TearDownSuite() + func (its *IntegrationTestSuite) WaitForGossip(ctx context.Context) error + type Lookuper func(key p2pcrypto.PublicKey) (*node.Info, error) + type NodeTestInstance interface + LocalNode func() node.LocalNode + type Payload struct + Payload []byte + Wrapped *service.DataMsgWrapper + func CreatePayload(data service.Data) (*Payload, error) + type Peer p2pcrypto.PublicKey + type PeerSubscriptionProvider interface + SubscribePeerEvents func() (conn, disc chan p2pcrypto.PublicKey) + type Peers struct + func NewPeers(s PeerSubscriptionProvider, lg log.Log) *Peers + func NewPeersImpl(snapshot *atomic.Value, exit chan struct{}, lg log.Log) *Peers + func (pi Peers) Close() + func (pi Peers) GetPeers() []Peer + func (pi Peers) PeerCount() uint64 + type ProtocolMessage struct + Metadata *ProtocolMessageMetadata + Payload *Payload + type ProtocolMessageMetadata struct + AuthPubkey []byte + ClientVersion string + NetworkID int32 + NextProtocol string + Timestamp int64 + type Service service.Service + type Switch struct + func New(ctx context.Context, config config.Config, logger log.Log, path string) (*Switch, error) + func (s *Switch) Broadcast(protocol string, payload []byte) error + func (s *Switch) Disconnect(peer p2pcrypto.PublicKey) + func (s *Switch) LocalNode() node.LocalNode + func (s *Switch) ProcessDirectProtocolMessage(sender p2pcrypto.PublicKey, protocol string, data service.Data, ...) error + func (s *Switch) ProcessGossipProtocolMessage(sender p2pcrypto.PublicKey, protocol string, data service.Data, ...) error + func (s *Switch) RegisterDirectProtocol(protocol string) chan service.DirectMessage + func (s *Switch) RegisterDirectProtocolWithChannel(protocol string, ingressChannel chan service.DirectMessage) chan service.DirectMessage + func (s *Switch) RegisterGossipProtocol(protocol string, prio priorityq.Priority) chan service.GossipMessage + func (s *Switch) SendMessage(peerPubkey p2pcrypto.PublicKey, protocol string, payload []byte) error + func (s *Switch) SendWrappedMessage(nodeID p2pcrypto.PublicKey, protocol string, payload *service.DataMsgWrapper) error + func (s *Switch) Shutdown() + func (s *Switch) Start() error + func (s *Switch) SubscribePeerEvents() (conn, disc chan p2pcrypto.PublicKey) + type UDPMux struct + func NewUDPMux(localNode node.LocalNode, lookuper Lookuper, udpNet udpNetwork, networkid int8, ...) *UDPMux + func (mux *UDPMux) ProcessDirectProtocolMessage(sender p2pcrypto.PublicKey, protocol string, data service.Data, ...) error + func (mux *UDPMux) RegisterDirectProtocolWithChannel(name string, c chan service.DirectMessage) chan service.DirectMessage + func (mux *UDPMux) SendMessage(peerPubkey p2pcrypto.PublicKey, protocol string, payload []byte) error + func (mux *UDPMux) SendWrappedMessage(nodeID p2pcrypto.PublicKey, protocol string, payload *service.DataMsgWrapper) error + func (mux *UDPMux) Shutdown() + func (mux *UDPMux) Start() error