public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasName) wr_.AsString(fs_[3], _name);
			switch (_ztest_id_) 
			{
				case 0: break;
				case 1: wr_.AsString(fs_[0], _str); break; 
				case 2: wr_.AsBytes(fs_[1], _date); break; 
				case 3: wr_.AsMessage(fs_[2], _msg); break; 
				case 10: wr_.AsInt(fs_[4], _i32); break; 
				case 11: wr_.AsBool(fs_[5], _bol); break; 
				case 12: wr_.AsChar(fs_[6], _cha); break; 
				case 14: wr_.AsSi32(fs_[7], _si3); break; 
				case 15: wr_.AsBit32(fs_[8], (int)_fx3); break; 
				case 16: wr_.AsLong(fs_[9], (long)_ui64); break; 
				case 17: wr_.AsSi64(fs_[10], _si64); break; 
				case 18: wr_.AsLong(fs_[11], _i64); break; 
				case 19: wr_.AsDouble(fs_[12], _dbl); break; 
				case 20: wr_.AsFloat(fs_[13], _flt); break; 
				case 21: wr_.AsDate(fs_[14], _dat); break; 
			}
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasAllocPageSize) wr_.AsInt(fs_[0], (int)_allocPageSize);
			if(HasCacheSize) wr_.AsInt(fs_[1], (int)_cacheSize);
			if(HasReserveMemory) wr_.AsBool(fs_[2], _reserveMemory);
			if(HasUseLargePages) wr_.AsBool(fs_[3], _useLargePages);
			if(HasHashTableSize) wr_.AsInt(fs_[4], (int)_hashTableSize);
			if(HasAddress) wr_.AsString(fs_[5], _address);
			if(HasName) wr_.AsString(fs_[6], _name);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasId) wr_.AsInt(fs_[0], _id);
			if(HasName) wr_.AsString(fs_[1], _name);
			if(HasAlign) wr_.AsEnum(fs_[2], (int)_align);
			if(_weights.Count > 0) wr_.AsRepeated(fs_[3], _weights.Items);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasUptime) wr_.AsInt(fs_[0], (int)_uptime);
			if(HasCurrentItems) wr_.AsLong(fs_[1], (long)_currentItems);
			if(HasCurrentBytes) wr_.AsLong(fs_[2], (long)_currentBytes);
			if(HasTotalMemory) wr_.AsLong(fs_[3], (long)_totalMemory);
			if(HasEvictions) wr_.AsLong(fs_[4], (long)_evictions);
			if(HasRequests) wr_.AsLong(fs_[5], (long)_requests);
			if(HasGetHits) wr_.AsLong(fs_[6], (long)_getHits);
			if(HasUpdates) wr_.AsLong(fs_[7], (long)_updates);
			if(HasMisses) wr_.AsLong(fs_[8], (long)_misses);
			if(HasBytesOut) wr_.AsLong(fs_[9], (long)_bytesOut);
			if(HasBytesIn) wr_.AsLong(fs_[10], (long)_bytesIn);
			if(HasBpsIn) wr_.AsLong(fs_[11], (long)_bpsIn);
			if(HasBpsOut) wr_.AsLong(fs_[12], (long)_bpsOut);
			if(HasRps) wr_.AsLong(fs_[13], (long)_rps);
			if(HasAddress) wr_.AsString(fs_[14], _address);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasStatus) wr_.AsInt(fs_[0], _status);
			if(HasData) wr_.AsBytes(fs_[1], _data);
			if(HasExpires) wr_.AsInt(fs_[2], (int)_expires);
			if(HasFlags) wr_.AsInt(fs_[3], (int)_flags);
			if(HasCas) wr_.AsLong(fs_[4], (long)_cas);
			if(HasCounter) wr_.AsLong(fs_[5], (long)_counter);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasOpcode) wr_.AsInt(fs_[0], _opcode);
			if(HasData) wr_.AsBytes(fs_[1], _data);
			if(HasKey) wr_.AsBytes(fs_[2], _key);
			if(HasExpires) wr_.AsInt(fs_[3], (int)_expires);
			if(HasFlags) wr_.AsLong(fs_[4], (long)_flags);
			if(HasCas) wr_.AsLong(fs_[5], (long)_cas);
			if(HasDelta) wr_.AsLong(fs_[6], (long)_delta);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasValue) wr_.AsInt(fs_[0], _value);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasI32) wr_.AsInt(fs_[0], _i32);
			if(HasI64) wr_.AsLong(fs_[1], _i64);
			if(HasStr) wr_.AsString(fs_[2], Str);
			if(HasBts) wr_.AsBytes(fs_[3], Bts);
			if(HasBln) wr_.AsBool(fs_[4], _bln);
			if(HasFlt) wr_.AsFloat(fs_[5], _flt);
			if(HasCur) wr_.AsCurrency(fs_[6], _cur);
			if(HasDbl) wr_.AsDouble(fs_[7], _dbl);
			if(HasDat) wr_.AsDate(fs_[8], _dat);
			if(HasSi32) wr_.AsSi32(fs_[9], _si32);
			if(HasSi64) wr_.AsSi64(fs_[10], _si64);
			if(HasUi32) wr_.AsInt(fs_[11], (int)_ui32);
			if(HasUi64) wr_.AsLong(fs_[12], (long)_ui64);
			if(HasDec) wr_.AsDecimal(fs_[13], _dec);
			if(HasChr) wr_.AsChar(fs_[14], _chr);
			if(HasEnu) wr_.AsEnum(fs_[15], (int)_enu);
			if(HasF32) wr_.AsBit32(fs_[16], (int)_f32);
			if(HasF64) wr_.AsBit64(fs_[17], (long)_f64);
		}