public void TestDeserialization() { byte[] serialized = TMemoryBuffer.Serialize(Fixtures.oneOfEach); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); for (int i = 0; i < HOW_MANY; i++) { OneOfEach o = new OneOfEach(); TProtocol proto = new TBinaryProtocol.Factory().GetProtocol(new TMemoryBuffer(serialized)); o.Read(proto); } stopwatch.Stop(); Console.WriteLine("Serialization test time : {0} ms", stopwatch.ElapsedMilliseconds); }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Struct) { MyBonk = new Bonk(); MyBonk.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { MyOoe = new OneOfEach(); MyOoe.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.List) { { Big = new List<OneOfEach>(); TList _list0 = iprot.ReadListBegin(); for(int _i1 = 0; _i1 < _list0.Count; ++_i1) { OneOfEach _elem2 = new OneOfEach(); _elem2 = new OneOfEach(); _elem2.Read(iprot); Big.Add(_elem2); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Set) { { Contain = new HashSet<List<string>>(); TSet _set3 = iprot.ReadSetBegin(); for(int _i4 = 0; _i4 < _set3.Count; ++_i4) { List<string> _elem5 = new List<string>(); { _elem5 = new List<string>(); TList _list6 = iprot.ReadListBegin(); for(int _i7 = 0; _i7 < _list6.Count; ++_i7) { string _elem8 = null; _elem8 = iprot.ReadString(); _elem5.Add(_elem8); } iprot.ReadListEnd(); } Contain.Add(_elem5); } iprot.ReadSetEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Map) { { Bonks = new Dictionary<string, List<Bonk>>(); TMap _map9 = iprot.ReadMapBegin(); for(int _i10 = 0; _i10 < _map9.Count; ++_i10) { string _key11; List<Bonk> _val12; _key11 = iprot.ReadString(); { _val12 = new List<Bonk>(); TList _list13 = iprot.ReadListBegin(); for(int _i14 = 0; _i14 < _list13.Count; ++_i14) { Bonk _elem15 = new Bonk(); _elem15 = new Bonk(); _elem15.Read(iprot); _val12.Add(_elem15); } iprot.ReadListEnd(); } Bonks[_key11] = _val12; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }