Exemplo n.º 1
0
        public void Read(TProtocol iprot)
        {
            bool   isset_emitted     = false;
            bool   isset_transferred = false;
            bool   isset_specific    = false;
            bool   isset_rate        = 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.Map)
                    {
                        {
                            Emitted = new Dictionary <string, Dictionary <string, long> >();
                            TMap _map138 = iprot.ReadMapBegin();
                            for (int _i139 = 0; _i139 < _map138.Count; ++_i139)
                            {
                                string _key140;
                                Dictionary <string, long> _val141;
                                _key140 = iprot.ReadString();
                                {
                                    _val141 = new Dictionary <string, long>();
                                    TMap _map142 = iprot.ReadMapBegin();
                                    for (int _i143 = 0; _i143 < _map142.Count; ++_i143)
                                    {
                                        string _key144;
                                        long   _val145;
                                        _key144          = iprot.ReadString();
                                        _val145          = iprot.ReadI64();
                                        _val141[_key144] = _val145;
                                    }
                                    iprot.ReadMapEnd();
                                }
                                Emitted[_key140] = _val141;
                            }
                            iprot.ReadMapEnd();
                        }
                        isset_emitted = true;
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Map)
                    {
                        {
                            Transferred = new Dictionary <string, Dictionary <string, long> >();
                            TMap _map146 = iprot.ReadMapBegin();
                            for (int _i147 = 0; _i147 < _map146.Count; ++_i147)
                            {
                                string _key148;
                                Dictionary <string, long> _val149;
                                _key148 = iprot.ReadString();
                                {
                                    _val149 = new Dictionary <string, long>();
                                    TMap _map150 = iprot.ReadMapBegin();
                                    for (int _i151 = 0; _i151 < _map150.Count; ++_i151)
                                    {
                                        string _key152;
                                        long   _val153;
                                        _key152          = iprot.ReadString();
                                        _val153          = iprot.ReadI64();
                                        _val149[_key152] = _val153;
                                    }
                                    iprot.ReadMapEnd();
                                }
                                Transferred[_key148] = _val149;
                            }
                            iprot.ReadMapEnd();
                        }
                        isset_transferred = true;
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 3:
                    if (field.Type == TType.Struct)
                    {
                        Specific = new ExecutorSpecificStats();
                        Specific.Read(iprot);
                        isset_specific = true;
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 4:
                    if (field.Type == TType.Double)
                    {
                        Rate       = iprot.ReadDouble();
                        isset_rate = true;
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
            if (!isset_emitted)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
            if (!isset_transferred)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
            if (!isset_specific)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
            if (!isset_rate)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
Exemplo n.º 2
0
 public ExecutorStats(Dictionary <string, Dictionary <string, long> > emitted, Dictionary <string, Dictionary <string, long> > transferred, ExecutorSpecificStats specific, double rate) : this()
 {
     this.Emitted     = emitted;
     this.Transferred = transferred;
     this.Specific    = specific;
     this.Rate        = rate;
 }