host

package
v0.0.0-...-d6e472d Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2025 License: MIT Imports: 29 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Peer disconnect events.
	BeforePeerDisconnectEvent = "peer:before:disconnect"
	AfterPeerDisconnectEvent  = "peer:after:disconnect"
	// Peer connect events.
	BeforePeerConnectEvent = "peer:before:connect"
	AfterPeerConnectEvent  = "peer:after:connect"
)

Event names used for broker communication.

Functions

This section is empty.

Types

type AfterPeerConnectCallback

type AfterPeerConnectCallback func(net network.Network, conn network.Conn)

type AfterPeerDisconnectCallback

type AfterPeerDisconnectCallback func(net network.Network, conn network.Conn)

type BeforePeerConnectCallback

type BeforePeerConnectCallback func(peerID peer.ID)

type BeforePeerDisconnectCallback

type BeforePeerDisconnectCallback func(peerID peer.ID)

type Config

type Config struct {
	IPAddr  net.IP `yaml:"ipAddr"`
	UDPPort int    `yaml:"udpPort"`
	TCPPort int    `yaml:"tcpPort"`
	PrivKey string `yaml:"privKey"`
}

Config is the configuration for the Mimicry host.

func (*Config) Validate

func (c *Config) Validate() error

Validate validates the Mimicry host config.

type Metrics

type Metrics struct {
	Peers                *prometheus.GaugeVec
	PeerConnectsTotal    prometheus.Counter
	PeerDisconnectsTotal prometheus.Counter
}

func NewMetrics

func NewMetrics(namespace string) *Metrics

func (*Metrics) SetPeers

func (m *Metrics) SetPeers(value int, direction, state string)

type Node

type Node struct {
	DerivedPrivKey *crypto.Secp256k1PrivateKey
	// contains filtered or unexported fields
}

Node is a Mimicry host It is responsible for managing the libp2p host and the ENR.

func NewNode

func NewNode(_ context.Context, log logrus.FieldLogger, config *Config, namespace, userAgent string) (*Node, error)

func (*Node) AddProtocols

func (n *Node) AddProtocols(p peer.ID, protocols ...protocol.ID) error

func (*Node) AfterPeerConnect

func (n *Node) AfterPeerConnect(callback AfterPeerConnectCallback)

AfterPeerConnect subscribes to the after peer connect event.

func (*Node) AfterPeerDisconnect

func (n *Node) AfterPeerDisconnect(callback AfterPeerDisconnectCallback)

AfterPeerDisconnect subscribes to the after peer disconnect event.

func (*Node) BeforePeerConnect

func (n *Node) BeforePeerConnect(callback BeforePeerConnectCallback)

BeforePeerConnect subscribes to the before peer connect event.

func (*Node) BeforePeerDisconnect

func (n *Node) BeforePeerDisconnect(callback BeforePeerDisconnectCallback)

BeforePeerDisconnect subscribes to the before peer disconnect event.

func (*Node) ConnectToPeer

func (n *Node) ConnectToPeer(ctx context.Context, p peer.AddrInfo) error

func (*Node) Connected

func (n *Node) Connected(net network.Network, conn network.Conn)

func (*Node) Connectedness

func (n *Node) Connectedness(p peer.ID) network.Connectedness

func (*Node) DisconnectFromPeer

func (n *Node) DisconnectFromPeer(ctx context.Context, p peer.ID) error

func (*Node) Disconnected

func (n *Node) Disconnected(net network.Network, conn network.Conn)

func (*Node) Host

func (n *Node) Host() host.Host

func (*Node) Listen

func (n *Node) Listen(net network.Network, addr ma.Multiaddr)

func (*Node) ListenClose

func (n *Node) ListenClose(net network.Network, addr ma.Multiaddr)

func (*Node) Network

func (n *Node) Network() network.Network

func (*Node) Peerstore

func (n *Node) Peerstore() peerstore.Peerstore

func (*Node) Start

func (n *Node) Start(_ context.Context) (host.Host, error)

func (*Node) Stop

func (n *Node) Stop(ctx context.Context) error

Jump to

Keyboard shortcuts

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