예제 #1
0
            public XeusOptions Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                string p_configDirectoryPath = string.Empty;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_configDirectoryPath = r.GetString(1024);
                        break;
                    }
                    }
                }

                return(new XeusOptions(p_configDirectoryPath));
            }
예제 #2
0
            public ErrorReport Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                global::Omnix.Serialization.RocketPack.Timestamp p_creationTime = global::Omnix.Serialization.RocketPack.Timestamp.Zero;
                ErrorReportType p_type = (ErrorReportType)0;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_creationTime = r.GetTimestamp();
                        break;
                    }

                    case 1:
                    {
                        p_type = (ErrorReportType)r.GetUInt64();
                        break;
                    }
                    }
                }

                return(new ErrorReport(p_creationTime, p_type));
            }
예제 #3
0
            public TcpProxyOptions Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                TcpProxyType p_type    = (TcpProxyType)0;
                OmniAddress  p_address = OmniAddress.Empty;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_type = (TcpProxyType)r.GetUInt64();
                        break;
                    }

                    case 1:
                    {
                        p_address = OmniAddress.Formatter.Deserialize(r, rank + 1);
                        break;
                    }
                    }
                }

                return(new TcpProxyOptions(p_type, p_address));
            }
예제 #4
0
            public ConnectionCreatorOptions Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                TcpConnectOptions p_tcpConnectOptions = TcpConnectOptions.Empty;
                TcpAcceptOptions  p_tcpAcceptOptions  = TcpAcceptOptions.Empty;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_tcpConnectOptions = TcpConnectOptions.Formatter.Deserialize(r, rank + 1);
                        break;
                    }

                    case 1:
                    {
                        p_tcpAcceptOptions = TcpAcceptOptions.Formatter.Deserialize(r, rank + 1);
                        break;
                    }
                    }
                }

                return(new ConnectionCreatorOptions(p_tcpConnectOptions, p_tcpAcceptOptions));
            }
예제 #5
0
            public TcpConnectOptions Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                bool            p_enabled      = false;
                TcpProxyOptions?p_proxyOptions = null;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_enabled = r.GetBoolean();
                        break;
                    }

                    case 1:
                    {
                        p_proxyOptions = TcpProxyOptions.Formatter.Deserialize(r, rank + 1);
                        break;
                    }
                    }
                }

                return(new TcpConnectOptions(p_enabled, p_proxyOptions));
            }
예제 #6
0
            public MerkleTreeNode Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                MerkleTreeSection[] p_sections = global::System.Array.Empty <MerkleTreeSection>();

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        var length = r.GetUInt32();
                        p_sections = new MerkleTreeSection[length];
                        for (int i = 0; i < p_sections.Length; i++)
                        {
                            p_sections[i] = MerkleTreeSection.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }
                    }
                }

                return(new MerkleTreeNode(p_sections));
            }
예제 #7
0
            public XeusClue Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                OmniHash p_hash  = OmniHash.Empty;
                byte     p_depth = 0;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_hash = OmniHash.Formatter.Deserialize(r, rank + 1);
                        break;
                    }

                    case 1:
                    {
                        p_depth = r.GetUInt8();
                        break;
                    }
                    }
                }

                return(new XeusClue(p_hash, p_depth));
            }
예제 #8
0
            public SharedBlocksMetadata Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                string p_path        = string.Empty;
                ulong  p_length      = 0;
                uint   p_blockLength = 0;

                OmniHash[] p_hashes = global::System.Array.Empty <OmniHash>();

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_path = r.GetString(1024);
                        break;
                    }

                    case 1:
                    {
                        p_length = r.GetUInt64();
                        break;
                    }

                    case 2:
                    {
                        p_blockLength = r.GetUInt32();
                        break;
                    }

                    case 3:
                    {
                        var length = r.GetUInt32();
                        p_hashes = new OmniHash[length];
                        for (int i = 0; i < p_hashes.Length; i++)
                        {
                            p_hashes[i] = OmniHash.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }
                    }
                }

                return(new SharedBlocksMetadata(p_path, p_length, p_blockLength, p_hashes));
            }
예제 #9
0
            public BlockStorageConfig Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                uint  p_version = 0;
                ulong p_size    = 0;

                global::System.Collections.Generic.Dictionary <OmniHash, ClusterMetadata> p_clusterMetadataMap = new global::System.Collections.Generic.Dictionary <OmniHash, ClusterMetadata>();

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_version = r.GetUInt32();
                        break;
                    }

                    case 1:
                    {
                        p_size = r.GetUInt64();
                        break;
                    }

                    case 2:
                    {
                        var length = r.GetUInt32();
                        p_clusterMetadataMap = new global::System.Collections.Generic.Dictionary <OmniHash, ClusterMetadata>();
                        OmniHash        t_key   = OmniHash.Empty;
                        ClusterMetadata t_value = ClusterMetadata.Empty;
                        for (int i = 0; i < length; i++)
                        {
                            t_key   = OmniHash.Formatter.Deserialize(r, rank + 1);
                            t_value = ClusterMetadata.Formatter.Deserialize(r, rank + 1);
                            p_clusterMetadataMap[t_key] = t_value;
                        }
                        break;
                    }
                    }
                }

                return(new BlockStorageConfig(p_version, p_size, p_clusterMetadataMap));
            }
예제 #10
0
            public TcpAcceptOptions Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                bool p_enabled = false;

                OmniAddress[] p_listenAddresses = global::System.Array.Empty <OmniAddress>();
                bool          p_useUpnp         = false;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_enabled = r.GetBoolean();
                        break;
                    }

                    case 1:
                    {
                        var length = r.GetUInt32();
                        p_listenAddresses = new OmniAddress[length];
                        for (int i = 0; i < p_listenAddresses.Length; i++)
                        {
                            p_listenAddresses[i] = OmniAddress.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }

                    case 2:
                    {
                        p_useUpnp = r.GetBoolean();
                        break;
                    }
                    }
                }

                return(new TcpAcceptOptions(p_enabled, p_listenAddresses, p_useUpnp));
            }
예제 #11
0
            public ContentMetadata Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                XeusClue p_clue = XeusClue.Empty;

                OmniHash[]           p_lockedHashes         = global::System.Array.Empty <OmniHash>();
                SharedBlocksMetadata?p_sharedBlocksMetadata = null;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_clue = XeusClue.Formatter.Deserialize(r, rank + 1);
                        break;
                    }

                    case 1:
                    {
                        var length = r.GetUInt32();
                        p_lockedHashes = new OmniHash[length];
                        for (int i = 0; i < p_lockedHashes.Length; i++)
                        {
                            p_lockedHashes[i] = OmniHash.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }

                    case 2:
                    {
                        p_sharedBlocksMetadata = SharedBlocksMetadata.Formatter.Deserialize(r, rank + 1);
                        break;
                    }
                    }
                }

                return(new ContentMetadata(p_clue, p_lockedHashes, p_sharedBlocksMetadata));
            }
예제 #12
0
            public ClusterMetadata Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                ulong[] p_sectors = global::System.Array.Empty <ulong>();
                uint    p_length  = 0;

                global::Omnix.Serialization.RocketPack.Timestamp p_lastAccessTime = global::Omnix.Serialization.RocketPack.Timestamp.Zero;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        var length = r.GetUInt32();
                        p_sectors = new ulong[length];
                        for (int i = 0; i < p_sectors.Length; i++)
                        {
                            p_sectors[i] = r.GetUInt64();
                        }
                        break;
                    }

                    case 1:
                    {
                        p_length = r.GetUInt32();
                        break;
                    }

                    case 2:
                    {
                        p_lastAccessTime = r.GetTimestamp();
                        break;
                    }
                    }
                }

                return(new ClusterMetadata(p_sectors, p_length, p_lastAccessTime));
            }
예제 #13
0
            public MerkleTreeSection Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                CorrectionAlgorithmType p_correctionAlgorithmType = (CorrectionAlgorithmType)0;
                ulong p_length = 0;

                OmniHash[] p_hashes = global::System.Array.Empty <OmniHash>();

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_correctionAlgorithmType = (CorrectionAlgorithmType)r.GetUInt64();
                        break;
                    }

                    case 1:
                    {
                        p_length = r.GetUInt64();
                        break;
                    }

                    case 2:
                    {
                        var length = r.GetUInt32();
                        p_hashes = new OmniHash[length];
                        for (int i = 0; i < p_hashes.Length; i++)
                        {
                            p_hashes[i] = OmniHash.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }
                    }
                }

                return(new MerkleTreeSection(p_correctionAlgorithmType, p_length, p_hashes));
            }
예제 #14
0
            public CheckBlocksProgressReport Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                uint p_badBlockCount     = 0;
                uint p_checkedBlockCount = 0;
                uint p_totalBlockCount   = 0;

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_badBlockCount = r.GetUInt32();
                        break;
                    }

                    case 1:
                    {
                        p_checkedBlockCount = r.GetUInt32();
                        break;
                    }

                    case 2:
                    {
                        p_totalBlockCount = r.GetUInt32();
                        break;
                    }
                    }
                }

                return(new CheckBlocksProgressReport(p_badBlockCount, p_checkedBlockCount, p_totalBlockCount));
            }
예제 #15
0
            public ContentStorageConfig Deserialize(global::Omnix.Serialization.RocketPack.RocketPackReader r, int rank)
            {
                if (rank > 256)
                {
                    throw new global::System.FormatException();
                }

                uint propertyCount = r.GetUInt32();

                uint p_version = 0;

                ContentMetadata[] p_contentMetadatas = global::System.Array.Empty <ContentMetadata>();

                for (; propertyCount > 0; propertyCount--)
                {
                    uint id = r.GetUInt32();
                    switch (id)
                    {
                    case 0:
                    {
                        p_version = r.GetUInt32();
                        break;
                    }

                    case 1:
                    {
                        var length = r.GetUInt32();
                        p_contentMetadatas = new ContentMetadata[length];
                        for (int i = 0; i < p_contentMetadatas.Length; i++)
                        {
                            p_contentMetadatas[i] = ContentMetadata.Formatter.Deserialize(r, rank + 1);
                        }
                        break;
                    }
                    }
                }

                return(new ContentStorageConfig(p_version, p_contentMetadatas));
            }