broadcast

package
v0.0.0-...-fbe82ab Latest Latest
Warning

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

Go to latest
Published: Mar 16, 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

func ClassifyError(err error) cb.Status

ClassifierRor将错误类型转换为状态代码。

Types

type ChannelSupport

type ChannelSupport interface {
	msgprocessor.Processor
	Consenter
}

频道支持提供支持频道广播所需的支持资源

type ChannelSupportRegistrar

type ChannelSupportRegistrar interface {
	//BroadcastChannelSupport返回消息通道头,无论该消息是否为配置更新
	//如果消息不是可以
	//直接处理(如配置和订购者事务消息)
	BroadcastChannelSupport(msg *cb.Envelope) (*cb.ChannelHeader, bool, ChannelSupport, error)
}

ChannelSupportRegistrar为处理程序提供了一种查找通道支持的方法

type Consenter

type Consenter interface {
	//ORDER接受一条消息或返回一个指示失败原因的错误
	//它最终传递到共识链接口
	Order(env *cb.Envelope, configSeq uint64) error

	//configure接受重新配置或返回一个错误,指示失败原因
	//它最终传递到共识链接口
	Configure(config *cb.Envelope, configSeq uint64) error

	//waitready阻止等待同意者准备接受新消息。
	//当同意者需要临时阻止进入消息时,这很有用,因此
	//飞行中的信息可以被消耗掉。如果同意者是
	//处于错误状态。如果不需要这种阻塞行为,同意者可以
	//只需返回零。
	WaitReady() error
}

同意者提供通过协商一致发送消息的方法

type Handler

type Handler struct {
	SupportRegistrar ChannelSupportRegistrar
	Metrics          *Metrics
}

处理程序用于处理来自广播AB GRPC服务的连接

func (*Handler) Handle

句柄从广播流读取请求,处理它们,并返回对该流的响应

func (*Handler) ProcessMessage

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

processMessage验证单个消息并使其排队

type Metrics

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

func NewMetrics

func NewMetrics(p metrics.Provider) *Metrics

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)

Directories

Path Synopsis
伪造者生成的代码。
伪造者生成的代码。

Jump to

Keyboard shortcuts

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