@Override public Timeout newTimeout(TimerTask task, long delay, TimeUnit unit) { try { return timer.newTimeout(task, delay, unit); } catch (IllegalStateException e) { // timer is shutdown return dummyTimeout; } }
@Override public Timeout newTimeout(TimerTask task, long delay, TimeUnit unit) { try { return timer.newTimeout(task, delay, unit); } catch (IllegalStateException e) { // timer is shutdown return dummyTimeout; } }
@Override public void schedule(final Runnable runnable, long delay, TimeUnit unit) { executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { runnable.run(); } }, delay, unit); }
@Override public void schedule(final Runnable runnable, long delay, TimeUnit unit) { executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { runnable.run(); } }, delay, unit); }
public static Timeout newTimeout(TimerTask task, long delay, TimeUnit unit) { return TIMER.newTimeout(task, delay, unit); } }
public static Timeout newTimeout(final TimerTask task, final long delay, final TimeUnit unit) { return TIMER.newTimeout(task, delay, unit); } }
@Override public void schedule(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) { Timeout timeout = executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { try { runnable.run(); } finally { scheduledFutures.remove(key); } } }, delay, unit); replaceScheduledFuture(key, timeout); }
@Override public void schedule(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) { Timeout timeout = executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { try { runnable.run(); } finally { scheduledFutures.remove(key); } } }, delay, unit); if (!timeout.isExpired()) { scheduledFutures.put(key, timeout); } }
@Override public void scheduleCallback(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) { Timeout timeout = executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { ctx.executor().execute(new Runnable() { @Override public void run() { try { runnable.run(); } finally { scheduledFutures.remove(key); } } }); } }, delay, unit); replaceScheduledFuture(key, timeout); }
@Override public void scheduleCallback(final SchedulerKey key, final Runnable runnable, long delay, TimeUnit unit) { Timeout timeout = executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { ctx.executor().execute(new Runnable() { @Override public void run() { try { runnable.run(); } finally { scheduledFutures.remove(key); } } }); } }, delay, unit); if (!timeout.isExpired()) { scheduledFutures.put(key, timeout); } }
boolean setTimerOnDemand() { if (pullRequest.getTimeoutMillis() <= 0) return false; long elapsed = System.currentTimeMillis() - pullBegin; long wait = pullRequest.getTimeoutMillis() - elapsed; if (wait > 0) { timer.newTimeout(this, wait, TimeUnit.MILLISECONDS); return true; } return false; }
void startTimeout() { Connection connection = this.connection; if (connection != null && connection.isConnected()) { int timeout = connection.getSessionContext().heartbeat; timer.newTimeout(this, timeout, TimeUnit.MILLISECONDS); } }
public void refreshHeartbeat(T key, TimerTask task, long timeout, TimeUnit unit) { Timeout context = timer.newTimeout(task, timeout, unit); final Timeout old = timeouts.put(key, context); if (old != null && !old.isCancelled() && !old.isExpired()) { old.cancel(); } }
private void initialize(ChannelHandlerContext ctx) { // Avoid the case where destroy() is called before scheduling timeouts. // See: https://github.com/netty/netty/issues/143 switch (state) { case 1: case 2: return; } state = 1; lastReadTime = lastWriteTime = SystemClock.millisClock().now(); if (readerIdleTimeMillis > 0) { readerIdleTimeout = timer.newTimeout( new ReaderIdleTimeoutTask(ctx), readerIdleTimeMillis, TimeUnit.MILLISECONDS); } if (writerIdleTimeMillis > 0) { writerIdleTimeout = timer.newTimeout( new WriterIdleTimeoutTask(ctx), writerIdleTimeMillis, TimeUnit.MILLISECONDS); } if (allIdleTimeMillis > 0) { allIdleTimeout = timer.newTimeout( new AllIdleTimeoutTask(ctx), allIdleTimeMillis, TimeUnit.MILLISECONDS); } }
private void initialize(ChannelHandlerContext ctx) { // Avoid the case where destroy() is called before scheduling timeouts. // See: https://github.com/netty/netty/issues/143 switch (state) { case 1: case 2: return; } state = 1; lastReadTime = lastWriteTime = SystemClock.millisClock().now(); if (readerIdleTimeMillis > 0) { readerIdleTimeout = timer.newTimeout( new ReaderIdleTimeoutTask(ctx), readerIdleTimeMillis, TimeUnit.MILLISECONDS); } if (writerIdleTimeMillis > 0) { writerIdleTimeout = timer.newTimeout( new WriterIdleTimeoutTask(ctx), writerIdleTimeMillis, TimeUnit.MILLISECONDS); } if (allIdleTimeMillis > 0) { allIdleTimeout = timer.newTimeout( new AllIdleTimeoutTask(ctx), allIdleTimeMillis, TimeUnit.MILLISECONDS); } }
@Override public void run(Timeout timeout) throws Exception { if (timeout.isCancelled() || !ctx.channel().isOpen()) { return; } long lastWriteTime = IdleStateChecker.this.lastWriteTime; long nextDelay = writerIdleTimeMillis - (SystemClock.millisClock().now() - lastWriteTime); if (nextDelay <= 0) { // Writer is idle - set a new timeout and notify the callback. writerIdleTimeout = timer.newTimeout(this, writerIdleTimeMillis, TimeUnit.MILLISECONDS); try { IdleStateEvent event; if (firstWriterIdleEvent) { firstWriterIdleEvent = false; event = IdleStateEvent.FIRST_WRITER_IDLE_STATE_EVENT; } else { event = IdleStateEvent.WRITER_IDLE_STATE_EVENT; } channelIdle(ctx, event); } catch (Throwable t) { ctx.fireExceptionCaught(t); } } else { // Write occurred before the timeout - set a new timeout with shorter delay. writerIdleTimeout = timer.newTimeout(this, nextDelay, TimeUnit.MILLISECONDS); } } }
allIdleTimeout = timer.newTimeout(this, allIdleTimeMillis, TimeUnit.MILLISECONDS); try { IdleStateEvent event; allIdleTimeout = timer.newTimeout(this, nextDelay, TimeUnit.MILLISECONDS);
allIdleTimeout = timer.newTimeout(this, allIdleTimeMillis, TimeUnit.MILLISECONDS); try { IdleStateEvent event; allIdleTimeout = timer.newTimeout(this, nextDelay, TimeUnit.MILLISECONDS);
@Override public void run(Timeout timeout) throws Exception { if (timeout.isCancelled() || !ctx.channel().isOpen()) { return; } long lastWriteTime = IdleStateChecker.this.lastWriteTime; long nextDelay = writerIdleTimeMillis - (SystemClock.millisClock().now() - lastWriteTime); if (nextDelay <= 0) { // Writer is idle - set a new timeout and notify the callback. writerIdleTimeout = timer.newTimeout(this, writerIdleTimeMillis, TimeUnit.MILLISECONDS); try { IdleStateEvent event; if (firstWriterIdleEvent) { firstWriterIdleEvent = false; event = IdleStateEvent.FIRST_WRITER_IDLE_STATE_EVENT; } else { event = IdleStateEvent.WRITER_IDLE_STATE_EVENT; } channelIdle(ctx, event); } catch (Throwable t) { ctx.fireExceptionCaught(t); } } else { // Write occurred before the timeout - set a new timeout with shorter delay. writerIdleTimeout = timer.newTimeout(this, nextDelay, TimeUnit.MILLISECONDS); } } }
readerIdleTimeout = timer.newTimeout(this, readerIdleTimeMillis, TimeUnit.MILLISECONDS); try { IdleStateEvent event; readerIdleTimeout = timer.newTimeout(this, nextDelay, TimeUnit.MILLISECONDS);