public static LedgerSCPMessages Decode(IByteReader stream) { LedgerSCPMessages decodedLedgerSCPMessages = new LedgerSCPMessages(); decodedLedgerSCPMessages.LedgerSeq = Uint32.Decode(stream); int messagessize = XdrEncoding.DecodeInt32(stream); decodedLedgerSCPMessages.Messages = new SCPEnvelope[messagessize]; for (int i = 0; i < messagessize; i++) { decodedLedgerSCPMessages.Messages[i] = SCPEnvelope.Decode(stream); } return(decodedLedgerSCPMessages); }
public static LedgerSCPMessages Decode(XdrDataInputStream stream) { var decodedLedgerSCPMessages = new LedgerSCPMessages(); decodedLedgerSCPMessages.LedgerSeq = Uint32.Decode(stream); var messagessize = stream.ReadInt(); decodedLedgerSCPMessages.Messages = new SCPEnvelope[messagessize]; for (var i = 0; i < messagessize; i++) { decodedLedgerSCPMessages.Messages[i] = SCPEnvelope.Decode(stream); } return(decodedLedgerSCPMessages); }
public static StellarMessage Decode(XdrDataInputStream stream) { StellarMessage decodedStellarMessage = new StellarMessage(); MessageType discriminant = MessageType.Decode(stream); decodedStellarMessage.Discriminant = discriminant; switch (decodedStellarMessage.Discriminant.InnerValue) { case MessageType.MessageTypeEnum.ERROR_MSG: decodedStellarMessage.Error = Error.Decode(stream); break; case MessageType.MessageTypeEnum.HELLO: decodedStellarMessage.Hello = Hello.Decode(stream); break; case MessageType.MessageTypeEnum.AUTH: decodedStellarMessage.Auth = Auth.Decode(stream); break; case MessageType.MessageTypeEnum.DONT_HAVE: decodedStellarMessage.DontHave = DontHave.Decode(stream); break; case MessageType.MessageTypeEnum.GET_PEERS: break; case MessageType.MessageTypeEnum.PEERS: int peerssize = stream.ReadInt(); decodedStellarMessage.Peers = new PeerAddress[peerssize]; for (int i = 0; i < peerssize; i++) { decodedStellarMessage.Peers[i] = PeerAddress.Decode(stream); } break; case MessageType.MessageTypeEnum.GET_TX_SET: decodedStellarMessage.TxSetHash = Uint256.Decode(stream); break; case MessageType.MessageTypeEnum.TX_SET: decodedStellarMessage.TxSet = TransactionSet.Decode(stream); break; case MessageType.MessageTypeEnum.TRANSACTION: decodedStellarMessage.Transaction = TransactionEnvelope.Decode(stream); break; case MessageType.MessageTypeEnum.GET_SCP_QUORUMSET: decodedStellarMessage.QSetHash = Uint256.Decode(stream); break; case MessageType.MessageTypeEnum.SCP_QUORUMSET: decodedStellarMessage.QSet = SCPQuorumSet.Decode(stream); break; case MessageType.MessageTypeEnum.SCP_MESSAGE: decodedStellarMessage.Envelope = SCPEnvelope.Decode(stream); break; case MessageType.MessageTypeEnum.GET_SCP_STATE: decodedStellarMessage.GetSCPLedgerSeq = Uint32.Decode(stream); break; } return(decodedStellarMessage); }