public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { bool isset_num_values = false; bool isset_num_nulls = false; bool isset_num_rows = false; bool isset_encoding = false; bool isset_definition_levels_byte_length = false; bool isset_repetition_levels_byte_length = false; TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { Num_values = iprot.ReadI32(); isset_num_values = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.I32) { Num_nulls = iprot.ReadI32(); isset_num_nulls = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.I32) { Num_rows = iprot.ReadI32(); isset_num_rows = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 4: if (field.Type == TType.I32) { Encoding = (Encoding)iprot.ReadI32(); isset_encoding = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 5: if (field.Type == TType.I32) { Definition_levels_byte_length = iprot.ReadI32(); isset_definition_levels_byte_length = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 6: if (field.Type == TType.I32) { Repetition_levels_byte_length = iprot.ReadI32(); isset_repetition_levels_byte_length = true; } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 7: if (field.Type == TType.Bool) { Is_compressed = iprot.ReadBool(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 8: if (field.Type == TType.Struct) { Statistics = new Statistics(); Statistics.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); if (!isset_num_values) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_num_nulls) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_num_rows) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_encoding) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_definition_levels_byte_length) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_repetition_levels_byte_length) { throw new TProtocolException(TProtocolException.INVALID_DATA); } } finally { iprot.DecrementRecursionDepth(); } }