public InterprocessDequeuer(int size, string name) { _mmq = new MemoryMappedQueue(size, false, name); _sourceQueue = new BlockingCollection <object>(); _bf = new BinaryFormatter(); _tokenSource = new CancellationTokenSource(); var taskCancellationToken = _tokenSource.Token; /*_dataRetriever = new Task(() => retrieveData(taskCancellationToken), taskCancellationToken);*/ }
public InterprocessEnqueuer(int size, string name, int maxDataSize = 1024 * 1024, bool ignoreIncorrectItems = true) { _mmq = new MemoryMappedQueue(size, true, name); _sinkQueue = new BlockingCollection <object>(); // By default, it is a ConcurrentQueue _tokenSource = new CancellationTokenSource(); _bf = new BinaryFormatter(); var taskCancellationToken = _tokenSource.Token; _maxDataSize = maxDataSize; _ignoreIncorrectItems = ignoreIncorrectItems; _dataProcessor = new Task(() => processData(taskCancellationToken), taskCancellationToken); }