public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken) { iprot.IncrementRecursionDepth(); try { 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.Set) { { AllowedTypes = new THashSet <ContentType>(); TSet _set4 = await iprot.ReadSetBeginAsync(cancellationToken); for (int _i5 = 0; _i5 < _set4.Count; ++_i5) { ContentType _elem6; _elem6 = (ContentType)await iprot.ReadI32Async(cancellationToken); AllowedTypes.Add(_elem6); } await iprot.ReadSetEndAsync(cancellationToken); } } else { await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; case 2: if (field.Type == TType.Struct) { PublicKey = new E2EEPublicKey(); await PublicKey.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); } finally { iprot.DecrementRecursionDepth(); } }
public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Set) { { AllowedTypes = new THashSet <ContentType>(); TSet _set79 = iprot.ReadSetBegin(); for (int _i80 = 0; _i80 < _set79.Count; ++_i80) { ContentType _elem81; _elem81 = (ContentType)iprot.ReadI32(); AllowedTypes.Add(_elem81); } iprot.ReadSetEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { PublicKey = new E2EEPublicKey(); PublicKey.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); } finally { iprot.DecrementRecursionDepth(); } }