pd

package
v0.0.0-...-0202bcc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

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 NetworkDiscoveryNode interface {
	DiscoverPeers(ctx context.Context)
	GetNetworkPeers() []model.Peer
	ProcessMessage(message *NodeUpdate)
}

type PeerDiscoveryClient

type PeerDiscoveryClient interface {
	SendDiscoveredPeers(sourceId string, destination model.Peer, discoveredPeers []model.Peer) error
	Close() error
}

type PeerDiscoveryServer

type PeerDiscoveryServer interface {
	HandleIncomingMessage(conn io.Reader) error
}

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

func (pool *PeerDiscoveryUDPClient) SendDiscoveredPeers(sourceId string, destination model.Peer, discoveredPeers []model.Peer) error

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL