/** * Creates a default reactor with timeout and timesource. * * @param timeout timeout * @param timeSource time source * @return a reactor */ static Reactor reactor(final Duration timeout, final TimeSource timeSource) { return new ReactorImpl(timeout, timeSource); }
private void copyTaskQueues() { copyQueueToList(fireOnceAfterTaskList, fireOnceAfterTaskQueue); copyQueueToList(repeatingTaskList, repeatingTaskQueue); }
@Override public <T> Promise<Void> all(List<Promise<T>> promises) { return all(defaultTimeout, promises); }
@Override public <T> Promise<List<T>> promiseList(Class<T> componentType) { return addPromiseToProcessingQueue(replayPromiseList(componentType, defaultTimeout, currentTime)); }
@Override public Promise<Void> any(Promise<?>... promises) { return any(defaultTimeout, promises); }
public ReactorImpl(final Duration defaultTimeout, final TimeSource timeSource) { this.defaultTimeout = defaultTimeout; final Duration checkPromiseTimeoutInterval = defaultTimeout.dividedBy(10); this.timeSource = timeSource; this.addRepeatingTask(checkPromiseTimeoutInterval, this::processPromiseTimeouts); }
@Override public <T> Promise<Set<T>> promiseSet(Class<T> componentType) { return addPromiseToProcessingQueue(replayPromiseSet(componentType, defaultTimeout, currentTime)); }
@Override public Promise<Void> all(Promise<?>... promises) { return all(defaultTimeout, promises); }
@Override public <T> Promise<Void> any(List<Promise<T>> promises) { return any(defaultTimeout, promises); }
/** * Creates a default reactor with timeout and timesource. * * @param timeout timeout * @param timeSource time source * @return a reactor */ static Reactor reactor(final Duration timeout, final TimeSource timeSource) { return new ReactorImpl(timeout, timeSource); }
private void copyTaskQueues() { copyQueueToList(fireOnceAfterTaskList, fireOnceAfterTaskQueue); copyQueueToList(repeatingTaskList, repeatingTaskQueue); }
@Override public <T> Promise<Collection<T>> promiseCollection(Class<T> componentType) { return addPromiseToProcessingQueue(replayPromiseCollection(componentType, defaultTimeout, currentTime)); }
@Override public Promise<Void> all(Promise<?>... promises) { return all(defaultTimeout, promises); }
@Override public Promise<Void> any(Promise<?>... promises) { return any(defaultTimeout, promises); }
@Override public Promise<String> promiseString() { return addPromiseToProcessingQueue(replayPromiseString(defaultTimeout, currentTime)); }
@Override public <T> Promise<Void> all(List<Promise<T>> promises) { return all(defaultTimeout, promises); }
@Override public <T> Promise<Void> any(List<Promise<T>> promises) { return any(defaultTimeout, promises); }
@Override public Promise<Void> promiseNotify() { return addPromiseToProcessingQueue(replayPromiseNotify(defaultTimeout, currentTime)); }
@Override public <T> Promise<List<T>> promiseList(Class<T> componentType) { return addPromiseToProcessingQueue(replayPromiseList(componentType, defaultTimeout, currentTime)); }
@Override public <T> Promise<Set<T>> promiseSet(Class<T> componentType) { return addPromiseToProcessingQueue(replayPromiseSet(componentType, defaultTimeout, currentTime)); }