Пример #1
0
 public override void NewResult(UniformPair <EventBean[]> results)
 {
     StatementResultService.Indicate(results);
     if (!IsDispatchWaiting.Value)
     {
         DispatchService.AddExternal(this);
         IsDispatchWaiting.Value = true;
     }
 }
Пример #2
0
        public override void NewResult(UniformPair <EventBean[]> results)
        {
            StatementResultService.Indicate(results);

            if (!IsDispatchWaiting.Value)
            {
                UpdateDispatchFutureWait nextFutureWait;
                lock (this)
                {
                    nextFutureWait = new UpdateDispatchFutureWait(this, _currentFutureWait, _msecTimeout);
                    _currentFutureWait.SetLater(nextFutureWait);
                    _currentFutureWait = nextFutureWait;
                }
                DispatchService.AddExternal(nextFutureWait);
                IsDispatchWaiting.Value = true;
            }
        }
        public override void NewResult(UniformPair <EventBean[]> result)
        {
            StatementResultService.Indicate(result);

            var isDispatchWaiting = IsDispatchWaiting;

            if (!isDispatchWaiting.Value)
            {
                UpdateDispatchFutureSpin nextFutureSpin;
                lock (this)
                {
                    nextFutureSpin     = new UpdateDispatchFutureSpin(this, _currentFutureSpin, _msecTimeout, _timeSourceService);
                    _currentFutureSpin = nextFutureSpin;
                }
                DispatchService.AddExternal(nextFutureSpin);
                isDispatchWaiting.Value = true;
            }
        }