コード例 #1
0
        public static void Encode(XdrDataOutputStream stream, BucketEntry encodedBucketEntry)
        {
            stream.WriteInt((int)encodedBucketEntry.Discriminant.InnerValue);
            switch (encodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
            case BucketEntryType.BucketEntryTypeEnum.INITENTRY:
                LedgerEntry.Encode(stream, encodedBucketEntry.LiveEntry);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                LedgerKey.Encode(stream, encodedBucketEntry.DeadEntry);
                break;

            case BucketEntryType.BucketEntryTypeEnum.METAENTRY:
                BucketMetadata.Encode(stream, encodedBucketEntry.MetaEntry);
                break;
            }
        }
コード例 #2
0
        public static void Encode(XdrDataOutputStream stream, LedgerEntryChange encodedLedgerEntryChange)
        {
            stream.WriteInt((int)encodedLedgerEntryChange.Discriminant.InnerValue);
            switch (encodedLedgerEntryChange.Discriminant.InnerValue)
            {
            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_CREATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Created);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_UPDATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Updated);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_REMOVED:
                LedgerKey.Encode(stream, encodedLedgerEntryChange.Removed);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_STATE:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.State);
                break;
            }
        }
コード例 #3
0
        public static BucketEntry Decode(XdrDataInputStream stream)
        {
            BucketEntry     decodedBucketEntry = new BucketEntry();
            BucketEntryType discriminant       = BucketEntryType.Decode(stream);

            decodedBucketEntry.Discriminant = discriminant;
            switch (decodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
            case BucketEntryType.BucketEntryTypeEnum.INITENTRY:
                decodedBucketEntry.LiveEntry = LedgerEntry.Decode(stream);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                decodedBucketEntry.DeadEntry = LedgerKey.Decode(stream);
                break;

            case BucketEntryType.BucketEntryTypeEnum.METAENTRY:
                decodedBucketEntry.MetaEntry = BucketMetadata.Decode(stream);
                break;
            }
            return(decodedBucketEntry);
        }
コード例 #4
0
 public static void Encode(XdrDataOutputStream stream, LedgerEntry encodedLedgerEntry)
 {
     Uint32.Encode(stream, encodedLedgerEntry.LastModifiedLedgerSeq);
     LedgerEntryData.Encode(stream, encodedLedgerEntry.Data);
     LedgerEntryExt.Encode(stream, encodedLedgerEntry.Ext);
 }