v2

package
v0.34.24 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// BlockchainChannel is a channel for blocks and status updates (`BlockStore` height)
	BlockchainChannel = byte(0x40)
)
View Source
const (
	// MetricsSubsystem is a subsystem shared by all metrics exposed by this
	// package.
	MetricsSubsystem = "blockchain"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockchainReactor added in v0.33.2

type BlockchainReactor struct {
	p2p.BaseReactor
	// contains filtered or unexported fields
}

BlockchainReactor handles fast sync protocol.

func NewBlockchainReactor added in v0.33.2

func NewBlockchainReactor(
	state state.State,
	blockApplier blockApplier,
	store blockStore,
	fastSync bool) *BlockchainReactor

NewBlockchainReactor creates a new reactor instance.

func (*BlockchainReactor) AddPeer added in v0.33.2

func (r *BlockchainReactor) AddPeer(peer p2p.Peer)

AddPeer implements Reactor interface

func (*BlockchainReactor) GetChannels added in v0.33.2

func (r *BlockchainReactor) GetChannels() []*p2p.ChannelDescriptor

GetChannels implements Reactor

func (*BlockchainReactor) Receive added in v0.33.2

func (r *BlockchainReactor) Receive(chID byte, peer p2p.Peer, msgBytes []byte)

func (*BlockchainReactor) ReceiveEnvelope added in v0.34.23

func (r *BlockchainReactor) ReceiveEnvelope(e p2p.Envelope)

Receive implements Reactor by handling different message types.

func (*BlockchainReactor) RemovePeer added in v0.33.2

func (r *BlockchainReactor) RemovePeer(peer p2p.Peer, reason interface{})

RemovePeer implements Reactor interface.

func (*BlockchainReactor) SetLogger added in v0.33.2

func (r *BlockchainReactor) SetLogger(logger log.Logger)

SetLogger sets the logger of the reactor.

func (*BlockchainReactor) SetSwitch added in v0.33.2

func (r *BlockchainReactor) SetSwitch(sw *p2p.Switch)

SetSwitch implements Reactor interface.

func (*BlockchainReactor) Start added in v0.33.2

func (r *BlockchainReactor) Start() error

Start implements cmn.Service interface

func (*BlockchainReactor) Stop added in v0.33.2

func (r *BlockchainReactor) Stop() error

Stop implements cmn.Service interface.

func (*BlockchainReactor) SwitchToFastSync added in v0.34.0

func (r *BlockchainReactor) SwitchToFastSync(state state.State) error

SwitchToFastSync is called by the state sync reactor when switching to fast sync.

func (*BlockchainReactor) SyncHeight added in v0.33.2

func (r *BlockchainReactor) SyncHeight() int64

SyncHeight returns the height to which the BlockchainReactor has synced.

type Event

type Event queue.Item

Event is the type that can be added to the priority queue.

type Metrics added in v0.32.4

type Metrics struct {
	// events_in
	EventsIn metrics.Counter
	// events_in
	EventsHandled metrics.Counter
	// events_out
	EventsOut metrics.Counter
	// errors_in
	ErrorsIn metrics.Counter
	// errors_handled
	ErrorsHandled metrics.Counter
	// errors_out
	ErrorsOut metrics.Counter
	// events_shed
	EventsShed metrics.Counter
	// events_sent
	EventsSent metrics.Counter
	// errors_sent
	ErrorsSent metrics.Counter
	// errors_shed
	ErrorsShed metrics.Counter
}

Metrics contains metrics exposed by this package.

func NopMetrics added in v0.32.4

func NopMetrics() *Metrics

NopMetrics returns no-op Metrics.

func PrometheusMetrics added in v0.32.4

func PrometheusMetrics(namespace string, labelsAndValues ...string) *Metrics

PrometheusMetrics returns metrics for in and out events, errors, etc. handled by routines. Can we burn in the routine name here?

type PeerByID added in v0.33.0

type PeerByID []p2p.ID

PeerByID is a list of peers sorted by peerID.

func (PeerByID) Len added in v0.33.0

func (peers PeerByID) Len() int

func (PeerByID) Less added in v0.33.0

func (peers PeerByID) Less(i, j int) bool

func (PeerByID) Swap added in v0.33.0

func (peers PeerByID) Swap(i, j int)

type Routine added in v0.32.4

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

Routine is a structure that models a finite state machine as serialized stream of events processed by a handle function. This Routine structure handles the concurrency and messaging guarantees. Events are sent via `send` are handled by the `handle` function to produce an iterator `next()`. Calling `stop()` on a routine will conclude processing of all sent events and produce `final()` event representing the terminal state.

Jump to

Keyboard shortcuts

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