Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 ¶
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
type Metrics ¶ added in v1.4.0
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)
Source Files
¶
- broadcast.go
- metrics.go
Click to show internal directories.
Click to hide internal directories.