receiveDeliverResponse expects to receive the BlockAndPrivateData response for the requested block.
(dp pb.Deliver_DeliverWithPrivateDataClient, peer *nwo.Peer, eventCh chan<- deliverEvent)
| 1136 | |
| 1137 | // receiveDeliverResponse expects to receive the BlockAndPrivateData response for the requested block. |
| 1138 | func 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 |
no test coverage detected