Пример #1
0
 private byte[] ConvertToBytes(ChoScalarObject obj)
 {
     if (_messageType == ChoUDPMessageType.Xml)
         return _encoding.GetBytes(ChoObject.XmlSerialize(new ChoScalarObject(obj)));
     else
         return ChoObject.Serialize(new ChoScalarObject(obj));
 }
Пример #2
0
 public byte[] Serialize(object value)
 {
     if (value != null)
     {
         return(ChoObject.Serialize(value));
     }
     else
     {
         return(null);
     }
 }
Пример #3
0
 public virtual void Enqueue(T obj)
 {
     if (_internalQueue.Count < _capacity)
     {
         _internalQueue.Enqueue(obj);
         _commonQueue.Add(obj);
     }
     else
     {
         string fileName = ChoObject.Serialize(_storageDir, obj);
         _persistanceQueue.Enqueue(fileName);
         _commonQueue.Add(fileName);
     }
 }
Пример #4
0
 public virtual void Enqueue(object obj)
 {
     if (_internalQueue.Count < _capacity)
     {
         _internalQueue.Enqueue(obj);
         _commonQueue.Add(obj);
     }
     else
     {
         string filePath = ChoPath.GetRandomFileName(_storageDir);
         ChoObject.Serialize(filePath, obj);
         _persistanceQueue.Enqueue(filePath);
         _commonQueue.Add(filePath);
     }
 }
Пример #5
0
        public void WriteData(T target)
        {
            ChoGuard.ArgumentNotNullOrEmpty(target, "Target");
            ChoGuard.NotDisposed(this);

            //using (Mutex mutex = new Mutex(false, ChoMutexHelper.GetName(_name)))
            //{
            //    mutex.WaitOne();
            using (MemoryMappedViewStream stream = mf.CreateViewStream())
            {
                if (_msgFormatter == ChoMsgFormatter.Binary)
                {
                    ChoObject.Serialize(stream, target);
                }
                else
                {
                    ChoObject.XmlSerialize(stream, target);
                }
            }
            _event.Set();
            //}
        }
Пример #6
0
 private byte[] ConvertToBytes(ChoNetMessage obj)
 {
     if (_messageType == ChoNetMessageType.Xml)
     {
         return(_encoding.GetBytes(obj.ToNullNSXmlWithType()));
     }
     else if (_messageType == ChoNetMessageType.Binary)
     {
         return(ChoObject.Serialize(obj));
     }
     else
     {
         if (SerializePayload != null)
         {
             return(SerializePayload(obj.Payload));
         }
         else
         {
             return(null);
         }
     }
 }