public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken) { iprot.IncrementRecursionDepth(); try { bool isset_type = false; bool isset_encodings = false; bool isset_path_in_schema = false; bool isset_codec = false; bool isset_num_values = false; bool isset_total_uncompressed_size = false; bool isset_total_compressed_size = false; bool isset_data_page_offset = false; TField field; await iprot.ReadStructBeginAsync(cancellationToken); while (true) { field = await iprot.ReadFieldBeginAsync(cancellationToken); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { Type = (Type)await iprot.ReadI32Async(cancellationToken); isset_type = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 2: if (field.Type == TType.List) { { Encodings = new List <Encoding>(); TList _list0 = await iprot.ReadListBeginAsync(cancellationToken); for (int _i1 = 0; _i1 < _list0.Count; ++_i1) { Encoding _elem2; _elem2 = (Encoding)await iprot.ReadI32Async(cancellationToken); Encodings.Add(_elem2); } await iprot.ReadListEndAsync(cancellationToken); } isset_encodings = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 3: if (field.Type == TType.List) { { Path_in_schema = new List <string>(); TList _list3 = await iprot.ReadListBeginAsync(cancellationToken); for (int _i4 = 0; _i4 < _list3.Count; ++_i4) { string _elem5; _elem5 = await iprot.ReadStringAsync(cancellationToken); Path_in_schema.Add(_elem5); } await iprot.ReadListEndAsync(cancellationToken); } isset_path_in_schema = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 4: if (field.Type == TType.I32) { Codec = (CompressionCodec)await iprot.ReadI32Async(cancellationToken); isset_codec = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 5: if (field.Type == TType.I64) { Num_values = await iprot.ReadI64Async(cancellationToken); isset_num_values = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 6: if (field.Type == TType.I64) { Total_uncompressed_size = await iprot.ReadI64Async(cancellationToken); isset_total_uncompressed_size = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 7: if (field.Type == TType.I64) { Total_compressed_size = await iprot.ReadI64Async(cancellationToken); isset_total_compressed_size = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 8: if (field.Type == TType.List) { { Key_value_metadata = new List <KeyValue>(); TList _list6 = await iprot.ReadListBeginAsync(cancellationToken); for (int _i7 = 0; _i7 < _list6.Count; ++_i7) { KeyValue _elem8; _elem8 = new KeyValue(); await _elem8.ReadAsync(iprot, cancellationToken); Key_value_metadata.Add(_elem8); } await iprot.ReadListEndAsync(cancellationToken); } } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 9: if (field.Type == TType.I64) { Data_page_offset = await iprot.ReadI64Async(cancellationToken); isset_data_page_offset = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 10: if (field.Type == TType.I64) { Index_page_offset = await iprot.ReadI64Async(cancellationToken); } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 11: if (field.Type == TType.I64) { Dictionary_page_offset = await iprot.ReadI64Async(cancellationToken); } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 12: if (field.Type == TType.Struct) { Statistics = new Statistics(); await Statistics.ReadAsync(iprot, cancellationToken); } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 13: if (field.Type == TType.List) { { Encoding_stats = new List <PageEncodingStats>(); TList _list9 = await iprot.ReadListBeginAsync(cancellationToken); for (int _i10 = 0; _i10 < _list9.Count; ++_i10) { PageEncodingStats _elem11; _elem11 = new PageEncodingStats(); await _elem11.ReadAsync(iprot, cancellationToken); Encoding_stats.Add(_elem11); } await iprot.ReadListEndAsync(cancellationToken); } } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; default: await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); break; } await iprot.ReadFieldEndAsync(cancellationToken); } await iprot.ReadStructEndAsync(cancellationToken); if (!isset_type) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_encodings) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_path_in_schema) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_codec) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_num_values) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_total_uncompressed_size) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_total_compressed_size) { throw new TProtocolException(TProtocolException.INVALID_DATA); } if (!isset_data_page_offset) { throw new TProtocolException(TProtocolException.INVALID_DATA); } } finally { iprot.DecrementRecursionDepth(); } }
public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken) { 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; await iprot.ReadStructBeginAsync(cancellationToken); while (true) { field = await iprot.ReadFieldBeginAsync(cancellationToken); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { Num_values = await iprot.ReadI32Async(cancellationToken); isset_num_values = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 2: if (field.Type == TType.I32) { Num_nulls = await iprot.ReadI32Async(cancellationToken); isset_num_nulls = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 3: if (field.Type == TType.I32) { Num_rows = await iprot.ReadI32Async(cancellationToken); isset_num_rows = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 4: if (field.Type == TType.I32) { Encoding = (Encoding)await iprot.ReadI32Async(cancellationToken); isset_encoding = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 5: if (field.Type == TType.I32) { Definition_levels_byte_length = await iprot.ReadI32Async(cancellationToken); isset_definition_levels_byte_length = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 6: if (field.Type == TType.I32) { Repetition_levels_byte_length = await iprot.ReadI32Async(cancellationToken); isset_repetition_levels_byte_length = true; } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 7: if (field.Type == TType.Bool) { Is_compressed = await iprot.ReadBoolAsync(cancellationToken); } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 8: if (field.Type == TType.Struct) { Statistics = new Statistics(); await Statistics.ReadAsync(iprot, cancellationToken); } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; default: await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); break; } await iprot.ReadFieldEndAsync(cancellationToken); } await iprot.ReadStructEndAsync(cancellationToken); 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(); } }