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); }
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); }