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.String) { TaskId = iprot.ReadString(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.I32) { TaskType = (TaskType)iprot.ReadI32(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Map) { { TaskAttributes = new Dictionary<string, string>(); TMap _map22 = iprot.ReadMapBegin(); for( int _i23 = 0; _i23 < _map22.Count; ++_i23) { string _key24; string _val25; _key24 = iprot.ReadString(); _val25 = iprot.ReadString(); TaskAttributes[_key24] = _val25; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 4: if (field.Type == TType.Map) { { TaskCounters = new Dictionary<string, long>(); TMap _map26 = iprot.ReadMapBegin(); for( int _i27 = 0; _i27 < _map26.Count; ++_i27) { string _key28; long _val29; _key28 = iprot.ReadString(); _val29 = iprot.ReadI64(); TaskCounters[_key28] = _val29; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 5: if (field.Type == TType.Struct) { OperatorGraph = new Graph(); OperatorGraph.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 6: if (field.Type == TType.List) { { OperatorList = new List<Operator>(); TList _list30 = iprot.ReadListBegin(); for( int _i31 = 0; _i31 < _list30.Count; ++_i31) { Operator _elem32 = new Operator(); _elem32 = new Operator(); _elem32.Read(iprot); OperatorList.Add(_elem32); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 7: if (field.Type == TType.Bool) { Done = iprot.ReadBool(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 8: if (field.Type == TType.Bool) { Started = iprot.ReadBool(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }