Help us shape the future of Go! Take the 2026 Go Developer Survey

broadcast

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClassifyError added in v1.1.0

func ClassifyError(err error) cb.Status

ClassifyError converts an error type into a status code.

Types

type ChannelSupport added in v1.1.0

type ChannelSupport interface {
	msgprocessor.Processor
	Consenter
}

ChannelSupport provides the backing resources needed to support broadcast on a channel

type ChannelSupportRegistrar added in v1.1.0

type ChannelSupportRegistrar interface {
	// BroadcastChannelSupport returns the message channel header, whether the message is a config update
	// and the channel resources for a message or an error if the message is not a message which can
	// be processed directly (like CONFIG and ORDERER_TRANSACTION messages)
	BroadcastChannelSupport(msg *cb.Envelope) (*cb.ChannelHeader, bool, ChannelSupport, error)
}

ChannelSupportRegistrar provides a way for the Handler to look up the Support for a channel

type Consenter added in v1.1.0

type Consenter interface {
	// Order accepts a message or returns an error indicating the cause of failure
	// It ultimately passes through to the consensus.Chain interface
	Order(env *cb.Envelope, configSeq uint64) error

	// Configure accepts a reconfiguration or returns an error indicating the cause of failure
	// It ultimately passes through to the consensus.Chain interface
	Configure(config *cb.Envelope, configSeq uint64) error

	// WaitReady blocks waiting for consenter to be ready for accepting new messages.
	// This is useful when consenter needs to temporarily block ingress messages so
	// that in-flight messages can be consumed. It could return error if consenter is
	// in erroneous states. If this blocking behavior is not desired, consenter could
	// simply return nil.
	WaitReady() error
}

Consenter provides methods to send messages through consensus

type Handler

type Handler struct {
	SupportRegistrar ChannelSupportRegistrar
	Metrics          *Metrics
}

Handler is designed to handle connections from Broadcast AB gRPC service

func (*Handler) Handle

Handle reads requests from a Broadcast stream, processes them, and returns the responses to the stream

func (*Handler) ProcessMessage added in v1.4.0

func (bh *Handler) ProcessMessage(msg *cb.Envelope, addr string) (resp *ab.BroadcastResponse)

ProcessMessage validates and enqueues a single message

type Metrics added in v1.4.0

type Metrics struct {
	ValidateDuration metrics.Histogram
	EnqueueDuration  metrics.Histogram
	ProcessedCount   metrics.Counter
}

func NewMetrics added in v1.4.0

func NewMetrics(p metrics.Provider) *Metrics

type MetricsTracker added in v1.4.0

type MetricsTracker struct {
	ValidateStartTime time.Time
	EnqueueStartTime  time.Time
	ValidateDuration  time.Duration
	ChannelID         string
	TxType            string
	Metrics           *Metrics
}

func (*MetricsTracker) BeginEnqueue added in v1.4.0

func (mt *MetricsTracker) BeginEnqueue()

func (*MetricsTracker) BeginValidate added in v1.4.0

func (mt *MetricsTracker) BeginValidate()

func (*MetricsTracker) EndValidate added in v1.4.0

func (mt *MetricsTracker) EndValidate()

func (*MetricsTracker) Record added in v1.4.0

func (mt *MetricsTracker) Record(resp *ab.BroadcastResponse)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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