encode method

void encode (
  1. XdrDataOutputStream stream,
  2. XdrStellarMessage encodedStellarMessage
)

Implementation

static void encode(
    XdrDataOutputStream stream, XdrStellarMessage encodedStellarMessage) {
  stream.writeInt(encodedStellarMessage.discriminant.value);
  switch (encodedStellarMessage.discriminant) {
    case XdrMessageType.ERROR_MSG:
      XdrError.encode(stream, encodedStellarMessage.error);
      break;
    case XdrMessageType.HELLO:
      XdrHello.encode(stream, encodedStellarMessage.hello);
      break;
    case XdrMessageType.AUTH:
      XdrAuth.encode(stream, encodedStellarMessage.auth);
      break;
    case XdrMessageType.DONT_HAVE:
      XdrDontHave.encode(stream, encodedStellarMessage.dontHave);
      break;
    case XdrMessageType.GET_PEERS:
      break;
    case XdrMessageType.PEERS:
      int peerssize = encodedStellarMessage.peers.length;
      stream.writeInt(peerssize);
      for (int i = 0; i < peerssize; i++) {
        XdrPeerAddress.encode(stream, encodedStellarMessage.peers[i]);
      }
      break;
    case XdrMessageType.GET_TX_SET:
      XdrUint256.encode(stream, encodedStellarMessage.txSetHash);
      break;
    case XdrMessageType.TX_SET:
      XdrTransactionSet.encode(stream, encodedStellarMessage.txSet);
      break;
    case XdrMessageType.TRANSACTION:
      XdrTransactionEnvelope.encode(
          stream, encodedStellarMessage.transaction);
      break;
    case XdrMessageType.GET_SCP_QUORUMSET:
      XdrUint256.encode(stream, encodedStellarMessage.qSetHash);
      break;
    case XdrMessageType.SCP_QUORUMSET:
      XdrSCPQuorumSet.encode(stream, encodedStellarMessage.qSet);
      break;
    case XdrMessageType.SCP_MESSAGE:
      XdrSCPEnvelope.encode(stream, encodedStellarMessage.envelope);
      break;
    case XdrMessageType.GET_SCP_STATE:
      XdrUint32.encode(stream, encodedStellarMessage.getSCPLedgerSeq);
      break;
    case XdrMessageType.SURVEY_REQUEST:
      print("not yet implemented");
      break;
    case XdrMessageType.SURVEY_RESPONSE:
      print("not yet implemented");
      break;
  }
}