Ejemplo n.º 1
0
  @Override
  public void sendBlock(Block block) throws BCSAPIException {
    try (ConnectorSession session = connection.createSession()) {
      log.trace("send block " + block.getID());
      ConnectorProducer blockProducer = session.createProducer(session.createTopic("newBlock"));

      ConnectorMessage m = session.createMessage();
      m.setPayload(block.toBCSAPIMessage().toByteArray());
      byte[] reply = synchronousRequest(session, blockProducer, m);
      if (reply != null) {
        try {
          BCSAPIMessage.ExceptionMessage em = BCSAPIMessage.ExceptionMessage.parseFrom(reply);
          throw new BCSAPIException(em.getMessage(0));
        } catch (InvalidProtocolBufferException e) {
          throw new BCSAPIException("Invalid response", e);
        }
      }
    } catch (ConnectorException e) {
      throw new BCSAPIException(e);
    }
  }