encode static 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;
  }
}