public void TestIndices() { var map = new KeyIndexMap(Keys); int index; Assert.IsTrue(map.TryGetIndex(Utf8Keys[0], out index)); Assert.AreEqual(0, index); Assert.IsTrue(map.TryGetIndex(Utf8Keys[2], out index)); Assert.AreEqual(2, index); Assert.IsFalse(map.TryGetIndex(Utf8Keys[3], out index)); }
global::BattleMechs.Messages.InnerMessage global::Pixonic.MsgPack.IFormatter <global::BattleMechs.Messages.InnerMessage> .Read( global::Pixonic.MsgPack.MsgPackStream stream, global::Pixonic.MsgPack.IContext context) { if (global::Pixonic.MsgPack.StreamReader.TryReadNil(stream)) { return(null); } var __value0__ = default(float); var __value1__ = default(global::BattleMechs.Messages.OneTwoThree); context.Trace("global::BattleMechs.Messages.InnerMessage header"); var length = global::Pixonic.MsgPack.StreamReader.ReadMapHeader(stream); for (var i = 0; i < length; ++i) { context.Trace("global::BattleMechs.Messages.InnerMessage next"); var key = global::Pixonic.MsgPack.StreamReader.ReadUtf8(stream); int index; if (!KeyIndexMap.TryGetIndex(key, out index)) { global::Pixonic.MsgPack.StreamReader.Skip(stream); continue; } switch (index) { case 0: context.Trace("global::BattleMechs.Messages.InnerMessage::X>"); __value0__ = context.ResolveFormatter <float>().Read(stream, context); break; case 1: context.Trace("global::BattleMechs.Messages.InnerMessage::OneTwoThree>"); __value1__ = context.ResolveFormatter <global::BattleMechs.Messages.OneTwoThree>().Read(stream, context); break; default: global::Pixonic.MsgPack.StreamReader.Skip(stream); break; } } var __result__ = new global::BattleMechs.Messages.InnerMessage(); __result__.X = __value0__; __result__.OneTwoThree = __value1__; var afterDeserializeListener = __result__ as global::Pixonic.MsgPack.IAfterDeserializeListener; if (afterDeserializeListener != null) { afterDeserializeListener.OnAfterDeserialize(); } return(__result__); }
TEnum IFormatter <TEnum> .Read(MsgPackStream stream, IContext context) { var key = StreamReader.ReadUtf8(stream); int index; if (_keyIndexMap.TryGetIndex(key, out index)) { return(_values[index]); } try { return((TEnum)System.Enum.Parse(typeof(TEnum), key.ToString())); } catch (System.Exception ex) { throw new MsgPackException(ex.Message); } }
global::BattleMechs.Messages.Message global::Pixonic.MsgPack.IFormatter <global::BattleMechs.Messages.Message> .Read( global::Pixonic.MsgPack.MsgPackStream stream, global::Pixonic.MsgPack.IContext context) { if (global::Pixonic.MsgPack.StreamReader.TryReadNil(stream)) { return(null); } var __value0__ = default(global::System.Collections.Generic.Dictionary <int, global::System.DateTime>); var __value1__ = default(global::BattleMechs.Messages.InnerMessage[]); var __value2__ = default(float); var __value3__ = default(float?); var __value4__ = default(byte[]); var __value5__ = default(string[]); var __value6__ = default(string[]); context.Trace("global::BattleMechs.Messages.Message header"); var length = global::Pixonic.MsgPack.StreamReader.ReadMapHeader(stream); for (var i = 0; i < length; ++i) { context.Trace("global::BattleMechs.Messages.Message next"); var key = global::Pixonic.MsgPack.StreamReader.ReadUtf8(stream); int index; if (!KeyIndexMap.TryGetIndex(key, out index)) { global::Pixonic.MsgPack.StreamReader.Skip(stream); continue; } switch (index) { case 0: context.Trace("global::BattleMechs.Messages.Message::Times>"); __value0__ = context.ResolveFormatter <global::System.Collections.Generic.Dictionary <int, global::System.DateTime> >().Read(stream, context); break; case 1: context.Trace("global::BattleMechs.Messages.Message::InnerMessages>"); __value1__ = context.ResolveFormatter <global::BattleMechs.Messages.InnerMessage[]>().Read(stream, context); break; case 2: context.Trace("global::BattleMechs.Messages.Message::FloatValue>"); __value2__ = context.ResolveFormatter <float>().Read(stream, context); break; case 3: context.Trace("global::BattleMechs.Messages.Message::NullableFloatValue>"); __value3__ = context.ResolveFormatter <float?>().Read(stream, context); break; case 4: context.Trace("global::BattleMechs.Messages.Message::Bytes>"); __value4__ = context.ResolveFormatter <byte[]>().Read(stream, context); break; case 5: context.Trace("global::BattleMechs.Messages.Message::ItemList>"); __value5__ = context.ResolveFormatter <string[]>().Read(stream, context); break; case 6: context.Trace("global::BattleMechs.Messages.Message::SecondItemList>"); __value6__ = context.ResolveFormatter <string[]>().Read(stream, context); break; default: global::Pixonic.MsgPack.StreamReader.Skip(stream); break; } } var __result__ = new global::BattleMechs.Messages.Message(); __result__.Times = __value0__; __result__.InnerMessages = __value1__; __result__.FloatValue = __value2__; __result__.NullableFloatValue = __value3__; __result__.Bytes = __value4__; __result__.ItemList = __value5__; __result__.SecondItemList = __value6__; var afterDeserializeListener = __result__ as global::Pixonic.MsgPack.IAfterDeserializeListener; if (afterDeserializeListener != null) { afterDeserializeListener.OnAfterDeserialize(); } return(__result__); }
FlatMessage IFormatter <FlatMessage> .Read(MsgPackStream stream, IContext context) { if (StreamReader.TryReadNil(stream)) { return(null); } var __value0__ = default(string); var __value1__ = default(int); var __value2__ = default(bool?); var __value3__ = default(float); var __value4__ = default(Dictionary <int, System.DateTime>); var __value5__ = default(ValueEnum); var __value6__ = default(StringEnum); context.Trace("FlatMessage header"); var length = StreamReader.ReadMapHeader(stream); for (var i = 0; i < length; ++i) { context.Trace("FlatMessage next"); var key = StreamReader.ReadUtf8(stream); int index; if (!KeyIndexMap.TryGetIndex(key, out index)) { StreamReader.Skip(stream); continue; } switch (index) { case 0: context.Trace("FlatMessage::Field1"); __value0__ = context.ResolveFormatter <string>().Read(stream, context); break; case 1: context.Trace("FlatMessage::Field2"); __value1__ = context.ResolveFormatter <int>().Read(stream, context); break; case 2: context.Trace("FlatMessage::Field3"); __value2__ = context.ResolveFormatter <bool?>().Read(stream, context); break; case 3: context.Trace("FlatMessage::Field4"); __value3__ = context.ResolveFormatter <float>().Read(stream, context); break; case 4: context.Trace("FlatMessage::Field5"); __value4__ = context.ResolveFormatter <Dictionary <int, System.DateTime> >().Read(stream, context); break; case 5: context.Trace("FlatMessage::Field6"); __value5__ = context.ResolveFormatter <ValueEnum>().Read(stream, context); break; case 6: context.Trace("FlatMessage::Field7"); __value6__ = context.ResolveFormatter <StringEnum>().Read(stream, context); break; default: StreamReader.Skip(stream); break; } } var __result__ = new FlatMessage(); __result__.Field1 = __value0__; __result__.Field2 = __value1__; __result__.Field3 = __value2__; __result__.Field4 = __value3__; __result__.Field5 = __value4__; __result__.Field6 = __value5__; __result__.Field7 = __value6__; var afterDeserializeListener = __result__ as IAfterDeserializeListener; if (afterDeserializeListener != null) { afterDeserializeListener.OnAfterDeserialize(); } return(__result__); }