Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClassifyError ¶
ClassifyError converts an error type into a status code.
Types ¶
type ChannelSupport ¶
type ChannelSupport interface { msgprocessor.Processor Consenter }
ChannelSupport provides the backing resources needed to support broadcast on a channel
type ChannelSupportRegistrar ¶
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 ¶
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 ¶
func (bh *Handler) Handle(srv ab.AtomicBroadcast_BroadcastServer) error
Handle reads requests from a Broadcast stream, processes them, and returns the responses to the stream
func (*Handler) ProcessMessage ¶
ProcessMessage validates and enqueues a single message
type Metrics ¶
type Metrics struct { ValidateDuration metrics.Histogram EnqueueDuration metrics.Histogram ProcessedCount metrics.Counter }
func NewMetrics ¶
type MetricsTracker ¶
type MetricsTracker struct { ValidateStartTime time.Time EnqueueStartTime time.Time ValidateDuration time.Duration ChannelID string TxType string Metrics *Metrics }
func (*MetricsTracker) BeginEnqueue ¶
func (mt *MetricsTracker) BeginEnqueue()
func (*MetricsTracker) BeginValidate ¶
func (mt *MetricsTracker) BeginValidate()
func (*MetricsTracker) EndValidate ¶
func (mt *MetricsTracker) EndValidate()
func (*MetricsTracker) Record ¶
func (mt *MetricsTracker) Record(resp *ab.BroadcastResponse)
Click to show internal directories.
Click to hide internal directories.