public static EnumDescription Decode(Stream inputStream)
        {
            if (inputStream == null)
            {
                return(null);
            }
            EnumDescription instance = new EnumDescription();

            instance.DataTypeID = NodeID.Decode(inputStream);
            instance.Name       = QualifiedName.Decode(inputStream);
            int?arraySize = BaseType.ReadInt32(inputStream);

            if (!arraySize.HasValue)
            {
                return(null);
            }
            if (arraySize.Value < 0)
            {
                return(instance);
            }
            instance.Fields = new List <EnumField>(arraySize.Value + 1);
            for (int i = 0; i < arraySize.Value; i++)
            {
                instance.Fields.Add(EnumField.Decode(inputStream));
            }
            instance.Type = (BuiltinType)inputStream.ReadByte();
            return(instance);
        }
Exemplo n.º 2
0
        public static StructureDescription Decode(Stream inputStream)
        {
            if (inputStream == null || !inputStream.CanRead)
            {
                return(null);
            }
            StructureDescription instance = new StructureDescription();

            instance.DataTypeId      = NodeID.Decode(inputStream);
            instance.Name            = QualifiedName.Decode(inputStream);
            instance.DefaultEncoding = NodeID.Decode(inputStream);
            instance.BaseDataType    = NodeID.Decode(inputStream);
            int?readInt32 = BaseType.ReadInt32(inputStream);

            if (readInt32 != null)
            {
                instance.StructureType = readInt32.Value;
            }
            int?int32 = BaseType.ReadInt32(inputStream);

            if (int32 == null)
            {
                return(instance);
            }
            instance.Fields = new List <StructureField>();
            int fieldsLength = int32.Value;

            for (int i = 0; i < fieldsLength; i++)
            {
                instance.Fields.Add(StructureField.Decode(inputStream));
            }
            return(instance);
        }
Exemplo n.º 3
0
        public static StructureField Decode(Stream inputStream)
        {
            if (inputStream == null || !inputStream.CanRead)
            {
                return(null);
            }
            StructureField instance = new StructureField();

            instance.Name        = String.Decode(inputStream);
            instance.Description = LocalizedText.Decode(inputStream);
            instance.DataType    = NodeID.Decode(inputStream);
            int?readInt32 = BaseType.ReadInt32(inputStream);

            if (readInt32 != null)
            {
                instance.ValueRank = readInt32.Value;
            }
            instance.ArrayDimension = SimpleArray <uint> .Decode(inputStream, BaseType.ReadUInt32);

            uint?readUInt32 = BaseType.ReadUInt32(inputStream);

            if (readUInt32 != null)
            {
                instance.MaxStringLength = readUInt32.Value;
            }
            instance.IsOptional = inputStream.ReadByte() != 0;
            return(instance);
        }
Exemplo n.º 4
0
        public static LedgerCloseValueSignature Decode(XdrDataInputStream stream)
        {
            LedgerCloseValueSignature decodedLedgerCloseValueSignature = new LedgerCloseValueSignature();

            decodedLedgerCloseValueSignature.NodeID    = NodeID.Decode(stream);
            decodedLedgerCloseValueSignature.Signature = Signature.Decode(stream);
            return(decodedLedgerCloseValueSignature);
        }
Exemplo n.º 5
0
        public static SCPStatement Decode(XdrDataInputStream stream)
        {
            var decodedSCPStatement = new SCPStatement();

            decodedSCPStatement.NodeID    = NodeID.Decode(stream);
            decodedSCPStatement.SlotIndex = Uint64.Decode(stream);
            decodedSCPStatement.Pledges   = SCPStatementPledges.Decode(stream);
            return(decodedSCPStatement);
        }
Exemplo n.º 6
0
        public static SCPStatement Decode(IByteReader stream)
        {
            SCPStatement decodedSCPStatement = new SCPStatement();

            decodedSCPStatement.NodeID    = NodeID.Decode(stream);
            decodedSCPStatement.SlotIndex = Uint64.Decode(stream);
            decodedSCPStatement.Pledges   = SCPStatementPledges.Decode(stream);
            return(decodedSCPStatement);
        }
        public static SurveyRequestMessage Decode(XdrDataInputStream stream)
        {
            SurveyRequestMessage decodedSurveyRequestMessage = new SurveyRequestMessage();

            decodedSurveyRequestMessage.SurveyorPeerID = NodeID.Decode(stream);
            decodedSurveyRequestMessage.SurveyedPeerID = NodeID.Decode(stream);
            decodedSurveyRequestMessage.LedgerNum      = Uint32.Decode(stream);
            decodedSurveyRequestMessage.EncryptionKey  = Curve25519Public.Decode(stream);
            decodedSurveyRequestMessage.CommandType    = SurveyMessageCommandType.Decode(stream);
            return(decodedSurveyRequestMessage);
        }
        public static SurveyResponseMessage Decode(XdrDataInputStream stream)
        {
            SurveyResponseMessage decodedSurveyResponseMessage = new SurveyResponseMessage();

            decodedSurveyResponseMessage.SurveyorPeerID = NodeID.Decode(stream);
            decodedSurveyResponseMessage.SurveyedPeerID = NodeID.Decode(stream);
            decodedSurveyResponseMessage.LedgerNum      = Uint32.Decode(stream);
            decodedSurveyResponseMessage.CommandType    = SurveyMessageCommandType.Decode(stream);
            decodedSurveyResponseMessage.EncryptedBody  = EncryptedBody.Decode(stream);
            return(decodedSurveyResponseMessage);
        }
Exemplo n.º 9
0
        public static Hello Decode(XdrDataInputStream stream)
        {
            var decodedHello = new Hello();

            decodedHello.LedgerVersion     = Uint32.Decode(stream);
            decodedHello.OverlayVersion    = Uint32.Decode(stream);
            decodedHello.OverlayMinVersion = Uint32.Decode(stream);
            decodedHello.NetworkID         = Hash.Decode(stream);
            decodedHello.VersionStr        = stream.ReadString();
            decodedHello.ListeningPort     = stream.ReadInt();
            decodedHello.PeerID            = NodeID.Decode(stream);
            decodedHello.Cert  = AuthCert.Decode(stream);
            decodedHello.Nonce = Uint256.Decode(stream);
            return(decodedHello);
        }
Exemplo n.º 10
0
        public static Hello Decode(IByteReader stream)
        {
            Hello decodedHello = new Hello();

            decodedHello.LedgerVersion     = Uint32.Decode(stream);
            decodedHello.OverlayVersion    = Uint32.Decode(stream);
            decodedHello.OverlayMinVersion = Uint32.Decode(stream);
            decodedHello.NetworkID         = Hash.Decode(stream);
            decodedHello.VersionStr        = XdrEncoding.ReadString(stream);
            decodedHello.ListeningPort     = XdrEncoding.DecodeInt32(stream);
            decodedHello.PeerID            = NodeID.Decode(stream);
            decodedHello.Cert  = AuthCert.Decode(stream);
            decodedHello.Nonce = Uint256.Decode(stream);
            return(decodedHello);
        }