code: func BroadcastReceive(broadcast Broadcast, addr string, responses chan common.Status, errs chan error) {
  	logger.Infof("calling OrdererClient.broadcastReceive")
  	for {
  		broadcastResponse, err := broadcast.Recv()
  		if err == io.EOF {
  			close(responses)
  			return
  		}
  
  		if err != nil {
  			rpcStatus, _ := status.FromError(err)
  			errs <- errors.Wrapf(err, "broadcast recv error from orderer %s, rpcStatus=%+v", addr, rpcStatus)
  			close(responses)
  			return
  		}
  
  		if broadcastResponse.Status == common.Status_SUCCESS {
  			responses <- broadcastResponse.Status
  		} else {
  			errs <- errors.Errorf("broadcast response error %d from orderer %s", int32(broadcastResponse.Status), addr)
  		}
  	}
  }
docs: // broadReceive waits until it receives the response from broadcast stream