hive

package
v2.8.0 Latest Latest
Warning

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

Go to latest
Published: May 26, 2026 License: BSD-3-Clause Imports: 20 Imported by: 2

Documentation

Overview

Package hive exposes the hive protocol implementation which is the discovery protocol used to inform and be informed about other peers in the network. It gossips about all peers by default and performs no specific prioritization about which peers are gossipped to others.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRateLimitExceeded = errors.New("rate limit exceeded")
)
View Source
var ErrShutdownInProgress = errors.New("shutdown in progress")

Functions

This section is empty.

Types

type ChequebookStorer added in v2.8.0

type ChequebookStorer interface {
	Put(peer swarm.Address, chequebook common.Address, timestamp int64, source bzz.TimestampSource, writeAddressbook func() error) error
}

ChequebookStorer persists the overlay→chequebook mapping. Put holds its internal mutex for the duration of writeAddressbook, so registry and addressbook writes are atomic with respect to concurrent ingestions.

type Options added in v2.8.0

type Options struct {
	BootnodeMode       bool
	AllowPrivateCIDRs  bool
	ChequebookVerifier chequebook.Verifier
	ChequebookStorer   ChequebookStorer
}

Options configures hive.Service at construction. Chequebook fields are optional: a nil ChequebookVerifier disables the verification gate (and records without a chequebook are accepted); a nil ChequebookStorer means no overlay→chequebook persistence — addressbook writes happen directly.

type Service

type Service struct {
	// contains filtered or unexported fields
}

func New

func New(streamer p2p.Bee260CompatibilityStreamer, addressbook addressbook.GetPutter, networkID uint64, overlay swarm.Address, logger log.Logger, o Options) *Service

func (*Service) BroadcastPeers

func (s *Service) BroadcastPeers(ctx context.Context, addressee swarm.Address, peers ...swarm.Address) error

func (*Service) Close

func (s *Service) Close() error

func (*Service) Metrics

func (s *Service) Metrics() []prometheus.Collector

func (*Service) Protocol

func (s *Service) Protocol() p2p.ProtocolSpec

func (*Service) SetAddPeersHandler

func (s *Service) SetAddPeersHandler(h func(addr ...swarm.Address))

Directories

Path Synopsis
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.

Jump to

Keyboard shortcuts

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