예제 #1
0
        public virtual int Size()
        {
            int nSize = 0;

            try {
                nSize += sizeof(int);
                foreach (var counter_datas_itr in counter_datas)
                {
                    CounterData counter_datas_elmt = counter_datas_itr;
                    nSize += CounterData_Serializer.Size(counter_datas_elmt);
                }
            } catch (System.Exception) {
                return(-1);
            }
            return(nSize);
        }
예제 #2
0
 public virtual bool Store(MemoryStream _buf_)
 {
     try {
         _buf_.Write(BitConverter.GetBytes(counter_datas.Count), 0, sizeof(int));
         foreach (var counter_datas_itr in counter_datas)
         {
             CounterData counter_datas_elmt = counter_datas_itr;
             if (false == CounterData_Serializer.Store(_buf_, counter_datas_elmt))
             {
                 return(false);
             }
         }
     } catch (System.Exception) {
         return(false);
     }
     return(true);
 }
예제 #3
0
 public virtual bool Load(MemoryStream _buf_)
 {
     try {
         if (sizeof(int) > _buf_.Length - _buf_.Position)
         {
             return(false);
         }
         int counter_datas_length = BitConverter.ToInt32(_buf_.GetBuffer(), (int)_buf_.Position);
         _buf_.Position += sizeof(int);
         for (int counter_datas_itr = 0; counter_datas_itr < counter_datas_length; counter_datas_itr++)
         {
             CounterData counter_datas_val = new CounterData();
             if (false == CounterData_Serializer.Load(ref counter_datas_val, _buf_))
             {
                 return(false);
             }
             counter_datas.Add(counter_datas_val);
         }
     } catch (System.Exception) {
         return(false);
     }
     return(true);
 }