Пример #1
0
 public Batch(global::Jaeger.Thrift.Process process, List <global::Jaeger.Thrift.Span> spans) : this()
 {
     this.Process = process;
     this.Spans   = spans;
 }
Пример #2
0
        public async global::System.Threading.Tasks.Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                bool   isset_process = false;
                bool   isset_spans   = 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.Struct)
                        {
                            Process = new global::Jaeger.Thrift.Process();
                            await Process.ReadAsync(iprot, cancellationToken);

                            isset_process = true;
                        }
                        else
                        {
                            await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.List)
                        {
                            {
                                TList _list33 = await iprot.ReadListBeginAsync(cancellationToken);

                                Spans = new List <global::Jaeger.Thrift.Span>(_list33.Count);
                                for (int _i34 = 0; _i34 < _list33.Count; ++_i34)
                                {
                                    global::Jaeger.Thrift.Span _elem35;
                                    _elem35 = new global::Jaeger.Thrift.Span();
                                    await _elem35.ReadAsync(iprot, cancellationToken);

                                    Spans.Add(_elem35);
                                }
                                await iprot.ReadListEndAsync(cancellationToken);
                            }
                            isset_spans = true;
                        }
                        else
                        {
                            await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.I64)
                        {
                            SeqNo = await iprot.ReadI64Async(cancellationToken);
                        }
                        else
                        {
                            await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            Stats = new global::Jaeger.Thrift.ClientStats();
                            await Stats.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_process)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA);
                }
                if (!isset_spans)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA);
                }
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }