protected override IO.Ably.ConnectionTypes UnpackFromCore(MsgPack.Unpacker unpacker)
        {
            IO.Ably.ConnectionTypes result = default(IO.Ably.ConnectionTypes);
            result = new IO.Ably.ConnectionTypes();
            int itemsCount0 = default(int);

            itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
            for (int i = 0; (i < itemsCount0); i = (i + 1))
            {
                string key       = default(string);
                string nullable2 = default(string);
                nullable2 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker,
                                                                                  typeof(IO.Ably.ConnectionTypes), "MemberName");
                if (((nullable2 == null)
                     == false))
                {
                    key = nullable2;
                }
                else
                {
                    throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
                }
                if ((key == "tls"))
                {
                    IO.Ably.ResourceCount nullable5 = default(IO.Ably.ResourceCount);
                    if ((unpacker.Read() == false))
                    {
                        throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                    }
                    if (((unpacker.IsArrayHeader == false) &&
                         (unpacker.IsMapHeader == false)))
                    {
                        nullable5 = this._serializer1.UnpackFrom(unpacker);
                    }
                    else
                    {
                        MsgPack.Unpacker disposable4 = default(MsgPack.Unpacker);
                        disposable4 = unpacker.ReadSubtree();
                        try
                        {
                            nullable5 = this._serializer1.UnpackFrom(disposable4);
                        }
                        finally
                        {
                            if (((disposable4 == null)
                                 == false))
                            {
                                disposable4.Dispose();
                            }
                        }
                    }
                    if (((nullable5 == null)
                         == false))
                    {
                        result.Tls = nullable5;
                    }
                }
                else
                {
                    if ((key == "plain"))
                    {
                        IO.Ably.ResourceCount nullable4 = default(IO.Ably.ResourceCount);
                        if ((unpacker.Read() == false))
                        {
                            throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                        }
                        if (((unpacker.IsArrayHeader == false) &&
                             (unpacker.IsMapHeader == false)))
                        {
                            nullable4 = this._serializer1.UnpackFrom(unpacker);
                        }
                        else
                        {
                            MsgPack.Unpacker disposable3 = default(MsgPack.Unpacker);
                            disposable3 = unpacker.ReadSubtree();
                            try
                            {
                                nullable4 = this._serializer1.UnpackFrom(disposable3);
                            }
                            finally
                            {
                                if (((disposable3 == null)
                                     == false))
                                {
                                    disposable3.Dispose();
                                }
                            }
                        }
                        if (((nullable4 == null)
                             == false))
                        {
                            result.Plain = nullable4;
                        }
                    }
                    else
                    {
                        if ((key == "all"))
                        {
                            IO.Ably.ResourceCount nullable3 = default(IO.Ably.ResourceCount);
                            if ((unpacker.Read() == false))
                            {
                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                            }
                            if (((unpacker.IsArrayHeader == false) &&
                                 (unpacker.IsMapHeader == false)))
                            {
                                nullable3 = this._serializer1.UnpackFrom(unpacker);
                            }
                            else
                            {
                                MsgPack.Unpacker disposable2 = default(MsgPack.Unpacker);
                                disposable2 = unpacker.ReadSubtree();
                                try
                                {
                                    nullable3 = this._serializer1.UnpackFrom(disposable2);
                                }
                                finally
                                {
                                    if (((disposable2 == null)
                                         == false))
                                    {
                                        disposable2.Dispose();
                                    }
                                }
                            }
                            if (((nullable3 == null)
                                 == false))
                            {
                                result.All = nullable3;
                            }
                        }
                        else
                        {
                            unpacker.Skip();
                        }
                    }
                }
            }
            return(result);
        }
示例#2
0
        protected override IO.Ably.Stats UnpackFromCore(MsgPack.Unpacker unpacker)
        {
            IO.Ably.Stats result = default(IO.Ably.Stats);
            result = new IO.Ably.Stats();
            int itemsCount0 = default(int);

            itemsCount0 = MsgPack.Serialization.UnpackHelpers.GetItemsCount(unpacker);
            for (int i = 0; (i < itemsCount0); i = (i + 1))
            {
                string key       = default(string);
                string nullable8 = default(string);
                nullable8 = MsgPack.Serialization.UnpackHelpers.UnpackStringValue(unpacker, typeof(IO.Ably.Stats),
                                                                                  "MemberName");
                if (((nullable8 == null)
                     == false))
                {
                    key = nullable8;
                }
                else
                {
                    throw MsgPack.Serialization.SerializationExceptions.NewNullIsProhibited("MemberName");
                }
                if ((key == "tokenRequests"))
                {
                    IO.Ably.RequestCount nullable17 = default(IO.Ably.RequestCount);
                    if ((unpacker.Read() == false))
                    {
                        throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                    }
                    if (((unpacker.IsArrayHeader == false) &&
                         (unpacker.IsMapHeader == false)))
                    {
                        nullable17 = this._serializer2.UnpackFrom(unpacker);
                    }
                    else
                    {
                        MsgPack.Unpacker disposable16 = default(MsgPack.Unpacker);
                        disposable16 = unpacker.ReadSubtree();
                        try
                        {
                            nullable17 = this._serializer2.UnpackFrom(disposable16);
                        }
                        finally
                        {
                            if (((disposable16 == null)
                                 == false))
                            {
                                disposable16.Dispose();
                            }
                        }
                    }
                    if (((nullable17 == null)
                         == false))
                    {
                        result.TokenRequests = nullable17;
                    }
                }
                else
                {
                    if ((key == "persisted"))
                    {
                        IO.Ably.MessageTypes nullable16 = default(IO.Ably.MessageTypes);
                        if ((unpacker.Read() == false))
                        {
                            throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                        }
                        if (((unpacker.IsArrayHeader == false) &&
                             (unpacker.IsMapHeader == false)))
                        {
                            nullable16 = this._serializer1.UnpackFrom(unpacker);
                        }
                        else
                        {
                            MsgPack.Unpacker disposable15 = default(MsgPack.Unpacker);
                            disposable15 = unpacker.ReadSubtree();
                            try
                            {
                                nullable16 = this._serializer1.UnpackFrom(disposable15);
                            }
                            finally
                            {
                                if (((disposable15 == null)
                                     == false))
                                {
                                    disposable15.Dispose();
                                }
                            }
                        }
                        if (((nullable16 == null)
                             == false))
                        {
                            result.Persisted = nullable16;
                        }
                    }
                    else
                    {
                        if ((key == "outbound"))
                        {
                            IO.Ably.OutboundMessageTraffic nullable15 = default(IO.Ably.OutboundMessageTraffic);
                            if ((unpacker.Read() == false))
                            {
                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                            }
                            if (((unpacker.IsArrayHeader == false) &&
                                 (unpacker.IsMapHeader == false)))
                            {
                                nullable15 = this._serializer6.UnpackFrom(unpacker);
                            }
                            else
                            {
                                MsgPack.Unpacker disposable14 = default(MsgPack.Unpacker);
                                disposable14 = unpacker.ReadSubtree();
                                try
                                {
                                    nullable15 = this._serializer6.UnpackFrom(disposable14);
                                }
                                finally
                                {
                                    if (((disposable14 == null)
                                         == false))
                                    {
                                        disposable14.Dispose();
                                    }
                                }
                            }
                            if (((nullable15 == null)
                                 == false))
                            {
                                result.Outbound = nullable15;
                            }
                        }
                        else
                        {
                            if ((key == "intervalId"))
                            {
                                string nullable14 = default(string);
                                nullable14 =
                                    MsgPack.Serialization.UnpackHelpers
                                    .UnpackStringValue(unpacker,
                                                       typeof(IO.Ably.Stats
                                                              ), "System.String intervalId");
                                if (((nullable14 == null)
                                     == false))
                                {
                                    result.IntervalId = nullable14;
                                }
                            }
                            else
                            {
                                if ((key == "inbound"))
                                {
                                    IO.Ably.InboundMessageTraffic nullable13 = default(IO.Ably.InboundMessageTraffic);
                                    if ((unpacker.Read() == false))
                                    {
                                        throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                    }
                                    if (((unpacker.IsArrayHeader == false) &&
                                         (unpacker.IsMapHeader == false)))
                                    {
                                        nullable13 = this._serializer5.UnpackFrom(unpacker);
                                    }
                                    else
                                    {
                                        MsgPack.Unpacker disposable12 = default(MsgPack.Unpacker);
                                        disposable12 = unpacker.ReadSubtree();
                                        try
                                        {
                                            nullable13 = this._serializer5.UnpackFrom(disposable12);
                                        }
                                        finally
                                        {
                                            if (((disposable12 == null)
                                                 == false))
                                            {
                                                disposable12.Dispose();
                                            }
                                        }
                                    }
                                    if (((nullable13 == null)
                                         == false))
                                    {
                                        result.Inbound = nullable13;
                                    }
                                }
                                else
                                {
                                    if ((key == "connections"))
                                    {
                                        IO.Ably.ConnectionTypes nullable12 = default(IO.Ably.ConnectionTypes);
                                        if ((unpacker.Read() == false))
                                        {
                                            throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                        }
                                        if (((unpacker.IsArrayHeader == false) &&
                                             (unpacker.IsMapHeader == false)))
                                        {
                                            nullable12 = this._serializer4.UnpackFrom(unpacker);
                                        }
                                        else
                                        {
                                            MsgPack.Unpacker disposable11 = default(MsgPack.Unpacker);
                                            disposable11 = unpacker.ReadSubtree();
                                            try
                                            {
                                                nullable12 = this._serializer4.UnpackFrom(disposable11);
                                            }
                                            finally
                                            {
                                                if (((disposable11 == null)
                                                     == false))
                                                {
                                                    disposable11.Dispose();
                                                }
                                            }
                                        }
                                        if (((nullable12 == null)
                                             == false))
                                        {
                                            result.Connections = nullable12;
                                        }
                                    }
                                    else
                                    {
                                        if ((key == "channels"))
                                        {
                                            IO.Ably.ResourceCount nullable11 = default(IO.Ably.ResourceCount);
                                            if ((unpacker.Read() == false))
                                            {
                                                throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                            }
                                            if (((unpacker.IsArrayHeader == false) &&
                                                 (unpacker.IsMapHeader == false)))
                                            {
                                                nullable11 = this._serializer3.UnpackFrom(unpacker);
                                            }
                                            else
                                            {
                                                MsgPack.Unpacker disposable10 = default(MsgPack.Unpacker);
                                                disposable10 = unpacker.ReadSubtree();
                                                try
                                                {
                                                    nullable11 = this._serializer3.UnpackFrom(disposable10);
                                                }
                                                finally
                                                {
                                                    if (((disposable10 == null)
                                                         == false))
                                                    {
                                                        disposable10.Dispose();
                                                    }
                                                }
                                            }
                                            if (((nullable11 == null)
                                                 == false))
                                            {
                                                result.Channels = nullable11;
                                            }
                                        }
                                        else
                                        {
                                            if ((key == "apiRequests"))
                                            {
                                                IO.Ably.RequestCount nullable10 = default(IO.Ably.RequestCount);
                                                if ((unpacker.Read() == false))
                                                {
                                                    throw MsgPack.Serialization.SerializationExceptions.NewMissingItem(i);
                                                }
                                                if (((unpacker.IsArrayHeader == false) &&
                                                     (unpacker.IsMapHeader == false)))
                                                {
                                                    nullable10 = this._serializer2.UnpackFrom(unpacker);
                                                }
                                                else
                                                {
                                                    MsgPack.Unpacker disposable9 = default(MsgPack.Unpacker);
                                                    disposable9 = unpacker.ReadSubtree();
                                                    try
                                                    {
                                                        nullable10 = this._serializer2.UnpackFrom(disposable9);
                                                    }
                                                    finally
                                                    {
                                                        if (((disposable9 == null)
                                                             == false))
                                                        {
                                                            disposable9.Dispose();
                                                        }
                                                    }
                                                }
                                                if (((nullable10 == null)
                                                     == false))
                                                {
                                                    result.ApiRequests = nullable10;
                                                }
                                            }
                                            else
                                            {
                                                if ((key == "all"))
                                                {
                                                    IO.Ably.MessageTypes nullable9 = default(IO.Ably.MessageTypes);
                                                    if ((unpacker.Read() == false))
                                                    {
                                                        throw MsgPack.Serialization.SerializationExceptions
                                                              .NewMissingItem(i);
                                                    }
                                                    if (((unpacker.IsArrayHeader == false) &&
                                                         (unpacker.IsMapHeader == false)))
                                                    {
                                                        nullable9 = this._serializer1.UnpackFrom(unpacker);
                                                    }
                                                    else
                                                    {
                                                        MsgPack.Unpacker disposable8 = default(MsgPack.Unpacker);
                                                        disposable8 = unpacker.ReadSubtree();
                                                        try
                                                        {
                                                            nullable9 = this._serializer1.UnpackFrom(disposable8);
                                                        }
                                                        finally
                                                        {
                                                            if (((disposable8 == null)
                                                                 == false))
                                                            {
                                                                disposable8.Dispose();
                                                            }
                                                        }
                                                    }
                                                    if (((nullable9 == null)
                                                         == false))
                                                    {
                                                        result.All = nullable9;
                                                    }
                                                }
                                                else
                                                {
                                                    unpacker.Skip();
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(result);
        }