MCPcopy
hub / github.com/hyperledger/fabric / receiveDeliverResponse

Function receiveDeliverResponse

integration/pvtdata/pvtdata_test.go:1138–1159  ·  view source on GitHub ↗

receiveDeliverResponse expects to receive the BlockAndPrivateData response for the requested block.

(dp pb.Deliver_DeliverWithPrivateDataClient, peer *nwo.Peer, eventCh chan<- deliverEvent)

Source from the content-addressed store, hash-verified

1136
1137// receiveDeliverResponse expects to receive the BlockAndPrivateData response for the requested block.
1138func receiveDeliverResponse(dp pb.Deliver_DeliverWithPrivateDataClient, peer *nwo.Peer, eventCh chan<- deliverEvent) {
1139 event := deliverEvent{}
1140
1141 resp, err := dp.Recv()
1142 if err != nil {
1143 event.Err = errors.WithMessagef(err, "error receiving deliver response from peer %s", peer.ID())
1144 }
1145 switch r := resp.Type.(type) {
1146 case *pb.DeliverResponse_BlockAndPrivateData:
1147 event.BlockAndPvtData = r.BlockAndPrivateData
1148 event.BlockNum = r.BlockAndPrivateData.Block.Header.Number
1149 case *pb.DeliverResponse_Status:
1150 event.Err = errors.Errorf("deliver completed with status (%s) before DeliverResponse_BlockAndPrivateData received from peer %s", r.Status, peer.ID())
1151 default:
1152 event.Err = errors.Errorf("received unexpected response type (%T) from peer %s", r, peer.ID())
1153 }
1154
1155 select {
1156 case eventCh <- event:
1157 default:
1158 }
1159}
1160
1161// createDeliverEnvelope creates a deliver request based on the block number.
1162// blockNum=0 means newest block

Callers 1

registerForDeliverEventFunction · 0.85

Calls 3

RecvMethod · 0.65
IDMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected