proxy

package
v0.37.3 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2023 License: Apache-2.0 Imports: 15 Imported by: 148

Documentation

Index

Constants

View Source
const (
	// MetricsSubsystem is a subsystem shared by all metrics exposed by this
	// package.
	MetricsSubsystem = "abci_connection"
)

Variables

View Source
var RequestInfo = abci.RequestInfo{
	Version:      version.TMCoreSemVer,
	BlockVersion: version.BlockProtocol,
	P2PVersion:   version.P2PProtocol,
	AbciVersion:  version.ABCIVersion,
}

RequestInfo contains all the information for sending the abci.RequestInfo message during handshake with the app. It contains only compile-time version information.

Functions

This section is empty.

Types

type AppConnConsensus

type AppConnConsensus interface {
	SetResponseCallback(abcicli.Callback)
	Error() error

	InitChainSync(types.RequestInitChain) (*types.ResponseInitChain, error)
	PrepareProposalSync(types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error)
	ProcessProposalSync(types.RequestProcessProposal) (*types.ResponseProcessProposal, error)
	BeginBlockSync(types.RequestBeginBlock) (*types.ResponseBeginBlock, error)
	DeliverTxAsync(types.RequestDeliverTx) *abcicli.ReqRes
	EndBlockSync(types.RequestEndBlock) (*types.ResponseEndBlock, error)
	CommitSync() (*types.ResponseCommit, error)
}

func NewAppConnConsensus

func NewAppConnConsensus(appConn abcicli.Client, metrics *Metrics) AppConnConsensus

type AppConnMempool

type AppConnMempool interface {
	SetResponseCallback(abcicli.Callback)
	Error() error

	CheckTxAsync(types.RequestCheckTx) *abcicli.ReqRes
	CheckTxSync(types.RequestCheckTx) (*types.ResponseCheckTx, error)

	FlushAsync() *abcicli.ReqRes
	FlushSync() error
}

func NewAppConnMempool

func NewAppConnMempool(appConn abcicli.Client, metrics *Metrics) AppConnMempool

type AppConnQuery

type AppConnQuery interface {
	Error() error

	EchoSync(string) (*types.ResponseEcho, error)
	InfoSync(types.RequestInfo) (*types.ResponseInfo, error)
	QuerySync(types.RequestQuery) (*types.ResponseQuery, error)
}

func NewAppConnQuery

func NewAppConnQuery(appConn abcicli.Client, metrics *Metrics) AppConnQuery

type AppConnSnapshot

type AppConnSnapshot interface {
	Error() error

	ListSnapshotsSync(types.RequestListSnapshots) (*types.ResponseListSnapshots, error)
	OfferSnapshotSync(types.RequestOfferSnapshot) (*types.ResponseOfferSnapshot, error)
	LoadSnapshotChunkSync(types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error)
	ApplySnapshotChunkSync(types.RequestApplySnapshotChunk) (*types.ResponseApplySnapshotChunk, error)
}

func NewAppConnSnapshot

func NewAppConnSnapshot(appConn abcicli.Client, metrics *Metrics) AppConnSnapshot

type AppConns

type AppConns interface {
	service.Service

	// Mempool connection
	Mempool() AppConnMempool
	// Consensus connection
	Consensus() AppConnConsensus
	// Query connection
	Query() AppConnQuery
	// Snapshot connection
	Snapshot() AppConnSnapshot
}

AppConns is the CometBFT's interface to the application that consists of multiple connections.

func NewAppConns

func NewAppConns(clientCreator ClientCreator, metrics *Metrics) AppConns

NewAppConns calls NewMultiAppConn.

func NewMultiAppConn

func NewMultiAppConn(clientCreator ClientCreator, metrics *Metrics) AppConns

NewMultiAppConn makes all necessary abci connections to the application.

type ClientCreator

type ClientCreator interface {
	// NewABCIClient returns a new ABCI client.
	NewABCIClient() (abcicli.Client, error)
}

ClientCreator creates new ABCI clients.

func DefaultClientCreator

func DefaultClientCreator(addr, transport, dbDir string) ClientCreator

DefaultClientCreator returns a default ClientCreator, which will create a local client if addr is one of: 'kvstore', 'persistent_kvstore' or 'noop', otherwise - a remote client.

func NewLocalClientCreator

func NewLocalClientCreator(app types.Application) ClientCreator

NewLocalClientCreator returns a ClientCreator for the given app, which will be running locally.

func NewRemoteClientCreator

func NewRemoteClientCreator(addr, transport string, mustConnect bool) ClientCreator

NewRemoteClientCreator returns a ClientCreator for the given address (e.g. "192.168.0.1") and transport (e.g. "tcp"). Set mustConnect to true if you want the client to connect before reporting success.

type Metrics

type Metrics struct {
	// Timing for each ABCI method.
	MethodTimingSeconds metrics.Histogram `metrics_bucketsizes:".0001,.0004,.002,.009,.02,.1,.65,2,6,25" metrics_labels:"method, type"`
}

Metrics contains the prometheus metrics exposed by the proxy package.

func NopMetrics

func NopMetrics() *Metrics

func PrometheusMetrics

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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