Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockchainNode ¶
type BlockchainNode struct { ID string Peers map[string]model.Peer // contains filtered or unexported fields }
BlockchainNode represents a node in the blockchain network.
func NewBlockchainNode ¶
func NewBlockchainNode(id string, config config.Config) *BlockchainNode
NewBlockchainNode creates a new blockchain node with the given ID.
func (*BlockchainNode) DiscoverPeers ¶
func (node *BlockchainNode) DiscoverPeers(ctx context.Context)
Gossip periodically broadcasts the node's information to a random subset of other nodes.
func (*BlockchainNode) ProcessMessage ¶
func (node *BlockchainNode) ProcessMessage(message *NodeUpdate)
type NetworkDiscoveryNode ¶
type PeerDiscoveryClient ¶
type PeerDiscoveryServer ¶
type PeerDiscoveryUDPClient ¶
type PeerDiscoveryUDPClient struct {
// contains filtered or unexported fields
}
func NewDiscoveryClient ¶
func NewDiscoveryClient() *PeerDiscoveryUDPClient
func (*PeerDiscoveryUDPClient) Close ¶
func (pool *PeerDiscoveryUDPClient) Close() error
func (*PeerDiscoveryUDPClient) SendDiscoveredPeers ¶
type PeerDiscoveryUDPServer ¶
type PeerDiscoveryUDPServer struct {
// contains filtered or unexported fields
}
func NewPeerDiscoveryServer ¶
func NewPeerDiscoveryServer(node *BlockchainNode, config config.Config) *PeerDiscoveryUDPServer
func (*PeerDiscoveryUDPServer) HandleIncomingMessage ¶
func (server *PeerDiscoveryUDPServer) HandleIncomingMessage(conn io.Reader) error
func (*PeerDiscoveryUDPServer) StartGossipUDPServer ¶
func (server *PeerDiscoveryUDPServer) StartGossipUDPServer(ctx context.Context)
Click to show internal directories.
Click to hide internal directories.