public override void NewResult(UniformPair <EventBean[]> results) { StatementResultService.Indicate(results); if (!IsDispatchWaiting.Value) { DispatchService.AddExternal(this); IsDispatchWaiting.Value = true; } }
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; } }