Inheritance: AsyncVirtualDataSourceProviderWorker
        public void AddPageRequest(int pageIndex, DataSourcePageRequestPriority priority)
        {
            if (DeferAutoRefresh)
            {
                return;
            }

            if (_worker != null && _worker.IsShutdown)
            {
                _worker = null;
                _callback = null;
            }

            if (_worker == null)
            {
                CreateWorker();
            }

            if (priority == DataSourcePageRequestPriority.High)
            {
                _requests.AddFirst(pageIndex);
            }
            else
            {
                _requests.AddLast(pageIndex);
            }
            if (!_worker.AddPageRequest(pageIndex, priority))
            {
                _worker = null;
                _callback = null;
                AddPageRequest(pageIndex, priority);
            }
        }
        private void CreateWorker()
        {
            if (!Valid())
            {
                return;
            }

            _callback = RaisePageLoaded;

            var settings = GetWorkerSettings();

            _worker = new ODataVirtualDataSourceDataProviderWorker(
                settings);
        }
 private void KillWorker()
 {
     if (_worker != null)
     {
         _worker.Shutdown();
         _worker = null;
         _callback = null;
     }
 }
 public void Close()
 {
     if (_worker != null)
     {
         _worker.Shutdown();
         _worker = null;
         _callback = null;
     }
 }