private synchronized void removeDisposableForHandler(EventHandler eventHandler) { Disposable disposable = disposableHandlerMap.get(eventHandler); if (null != disposable) { disposable.dispose(); disposableHandlerMap.remove(eventHandler); } }
public void run() { EventBuffer buffer = new EventBuffer(); while (_commands.isRunning()) { buffer = _commands.swap(buffer); _commandExecutor.execute(buffer); buffer.clear(); } }
public Disposable scheduleAtFixedRate(Runnable _command, long initialDelay, long interval, TimeUnit unit) { PendingCommand command = new PendingCommand(_command); return new ScheduledFutureControl( _scheduler.scheduleAtFixedRate(new ExecuteCommand(command), initialDelay, interval, unit), command); }
public Disposable scheduleWithFixedDelay(final Runnable command, long initialDelay, long interval, TimeUnit unit) { FixedDelayTask fixedDelayTask = new FixedDelayTask(command, interval, unit); fixedDelayTask.scheduledEvent = schedule(fixedDelayTask, initialDelay, unit); return fixedDelayTask; }
public static ScheduledThreadPoolExecutor createSchedulerThatIgnoresEventsAfterStop() { ThreadFactory fact = new DaemonThreadFactory(); return createSchedulerThatIgnoresEventsAfterStop(fact); }
private static <V> void executeAll(final V msg, final Callback<V>[] cbs) { for (Callback<V> cb : cbs) { cb.onMessage(msg); } } }
public PoolFiber(Executor pool, BatchExecutor executor, ScheduledExecutorService scheduler) { _flushExecutor = pool; _commandExecutor = executor; _scheduler = new SchedulerImpl(this, scheduler); _flushRunnable = new Runnable() { public void run() { flush(); } }; }
/** * Schedule recurring event. Event will be fired on fiber thread. */ public Disposable scheduleAtFixedRate(Runnable command, long initialDelay, long delay, TimeUnit unit) { return _scheduler.scheduleAtFixedRate(command, initialDelay, delay, unit); }
private synchronized EventBuffer swap(EventBuffer buffer) { if (queue.isEmpty() || !running) { flushPending = false; return null; } EventBuffer toReturn = queue; queue = buffer; return toReturn; } }
public void run() { EventBuffer buffer = new EventBuffer(); while (_commands.isRunning()) { buffer = _commands.swap(buffer); _commandExecutor.execute(buffer); buffer.clear(); } }
@Override public synchronized void clear() { LOG.trace("Going to clear handlers on dispatcher {}", this); if(null != handlersByEventType) { handlersByEventType.clear(); } if(null != anyHandler) { anyHandler.clear(); } // Iterate through the list of disposables and dispose each one. Collection<Disposable> disposables = disposableHandlerMap.values(); for (Disposable disposable : disposables) { disposable.dispose(); } disposableHandlerMap.clear(); }
public Disposable scheduleWithFixedDelay(final Runnable command, long initialDelay, long interval, TimeUnit unit) { FixedDelayTask fixedDelayTask = new FixedDelayTask(command, interval, unit); fixedDelayTask.scheduledEvent = schedule(fixedDelayTask, initialDelay, unit); return fixedDelayTask; }
private static <V> void executeAll(final V msg, final Callback<V>[] cbs) { for (Callback<V> cb : cbs) { cb.onMessage(msg); } } }
@Override public synchronized void close() { if (!isCloseCalled) { fiber.dispose(); eventQueue.clearSubscribers(); // Iterate through the list of disposables and dispose each one. Collection<Disposable> disposables = disposableHandlerMap.values(); for (Disposable disposable : disposables) { disposable.dispose(); } handlersByEventType.clear(); handlersByEventType = null; anyHandler.clear(); anyHandler = null; isCloseCalled = true; } }
public void dispose() { for (Disposable disposable : all) { disposable.dispose(); } } };