admin管理员组文章数量:1642217
Hyperledger 源码分析之 Fabric
Deliver,意味着客户端通过 gRPC 接口从 Ordering 服务获取数据(例如指定区块的数据)。
Orderer 节点收到请求消息,会首先交给 orderermon.server
包中 server 结构体的 Deliver(srv ab.AtomicBroadcast_DeliverServer) error
方法处理。该方法进一步调用 orderermon.deliver
包中 deliverServer 结构的 Handle(srv ab.AtomicBroadcast_DeliverServer) error
方法进行处理。
deliverServer 结构体十分重要,完成对 Deliver 请求的处理过程。
type deliverServer struct { sm SupportManager}func (ds *deliverServer) Handle(srv ab.AtomicBroadcast_DeliverServer) error
整体过程
整体处理过程如下图所示。
Handle(srv ab.AtomicBroadcast_DeliverServer) error
方法会开启一个循环来从 srv 中不断读取请求消息并进行处理,直到结束。
核心代码如下所示,包括提取消息和对消息进行处理两个步骤。
for { envelope, err := srv.Recv() // 从请求中提取一个 Envelope 消息 ds.deliverBlocks(srv, envelope) // 对消息进行处理并答复,核心过程}
本文标签: 节点过程HyperledgerFabricdeliver
版权声明:本文标题:Hyperledger Fabric 排序节点处理 Deliver 请求的过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729331490a1196445.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论