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); } }
public ChoQueue(int capacity, string storageDir) { if (capacity <= 0) { _internalQueue = new Queue(); } else { _capacity = capacity; _internalQueue = new Queue(capacity); } if (storageDir == null) { _storageDir = Path.Combine(ChoApplication.ApplicationBaseDirectory, ChoPath.GetRandomFileName()); } else { _storageDir = Path.Combine(storageDir, ChoPath.GetRandomFileName()); } }
public ChoQueue(int capacity, string storageDir) { if (capacity <= 0) { _internalQueue = new Queue <T>(); } else { _capacity = capacity; _internalQueue = new Queue <T>(capacity); } if (storageDir == null) { _storageDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ChoPath.GetRandomFileName()); } else { _storageDir = Path.Combine(storageDir, ChoPath.GetRandomFileName()); } }