Exemplo n.º 1
0
        } // constructor

        public Task StartAsync(EpgDataStore datastore, CancellationToken token)
        {
            Token     = token;
            DataStore = datastore;

            return(Task.Run(Download, token));
        } // StartAsync
Exemplo n.º 2
0
            } // WaitCompletion

            public void Dispose()
            {
                if (_segmentsQueue == null)
                {
                    return;
                }

                _segmentsQueue = null;
                _enqueuedSegments.Dispose();
                _processSegmentsEnded.Dispose();
                _datastore = null;
            } // Dispose
Exemplo n.º 3
0
            public void Start(EpgDataStore datastore)
            {
                if (_segmentsQueue != null)
                {
                    throw new InvalidOperationException();
                }

                _segmentsQueue        = new ConcurrentQueue <byte[]>();
                _enqueuedSegments     = new AutoResetEvent(false);
                _processSegmentsEnded = new AutoResetEvent(false);
                _noMoreSegments       = false;
                _datastore            = datastore;

                var worker = new Thread(ProcessSegments);

                worker.Start();
            } // Start