Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 950 Bytes

File metadata and controls

33 lines (24 loc) · 950 Bytes

server.go

orderer提供的服务实现,包含broadcast和deliver接口。

NewServer

新建一个 Server 结构,包括一个 broadcast 的处理句柄,以及一个 deliver 的处理句柄。

type server struct {
	bh    broadcast.Handler
	dh    deliver.Handler
	debug *localconfig.Debug
	*multichannel.Registrar
}

NewServer 分别初始化这两个句柄,挂载上前面初始化的 multichannel.Registrar 结构。broadcast 句柄还需要初始化一个配置更新的处理器,负责处理 CONFIG_UPDATE 交易。

func NewServer(r *multichannel.Registrar, _ crypto.LocalSigner, debug *localconfig.Debug, timeWindow time.Duration, mutualTLS bool) ab.AtomicBroadcastServer {
	s := &server{
		dh:        deliver.NewHandlerImpl(deliverSupport{Registrar: r}, timeWindow, mutualTLS),
		bh:        broadcast.NewHandlerImpl(broadcastSupport{Registrar: r}),
		debug:     debug,
		Registrar: r,
	}
	return s
}