public void cancel() { if (cancelled.compareAndSet(false, true)) { if (requestTimeout != null) { requestTimeout.cancel(); RequestTimeoutTimerTask.class.cast(requestTimeout.getTask()).clean(); requestTimeout = null; } if (readTimeout != null) { readTimeout.cancel(); ReadTimeoutTimerTask.class.cast(readTimeout.getTask()).clean(); readTimeout = null; } } } }
scheduleNewIdleChannelDetector(timeout.getTask());
public void cancel() { if (cancelled.compareAndSet(false, true)) { if (requestTimeout != null) { requestTimeout.cancel(); RequestTimeoutTimerTask.class.cast(requestTimeout.getTask()).clean(); requestTimeout = null; } if (readTimeout != null) { readTimeout.cancel(); ReadTimeoutTimerTask.class.cast(readTimeout.getTask()).clean(); readTimeout = null; } } } }
public void cancel() { if (cancelled.compareAndSet(false, true)) { if (requestTimeout != null) { requestTimeout.cancel(); RequestTimeoutTimerTask.class.cast(requestTimeout.getTask()).clean(); requestTimeout = null; } if (readTimeout != null) { readTimeout.cancel(); ReadTimeoutTimerTask.class.cast(readTimeout.getTask()).clean(); readTimeout = null; } } } }
@Override public void run(Timeout to) throws Exception { for (DeviceId devId : flowTable.keySet()) { providerService.pushFlowMetrics(devId, flowTable .getOrDefault(devId, Collections.emptySet())); } timeout = timer.newTimeout(to.getTask(), 5, TimeUnit.SECONDS); } }
public void run(Timeout timeout) throws Exception { if (timeout.isCancelled()) return; final long timestamp = System.currentTimeMillis(); final long deltaTime = timestamp - lastTimestamp; long sent = bytesSent.get() - lastBytesSent; long received = bytesReceived.get() - lastBytesReceived; lastBytesSent = bytesSent.get(); lastBytesReceived = bytesReceived.get(); if (sent < 0) sent = 0; if (received < 0) received = 0; sentHistory.add(sent / deltaTime); receivedHistory.add(received / deltaTime); if (sentHistory.size() > HISTORY_SIZE) sentHistory.removeFirst(); if (receivedHistory.size() > HISTORY_SIZE) receivedHistory.removeFirst(); bytesSentPerSecond.set(average(sentHistory) * 1000); bytesReceivedPerSecond.set(average(receivedHistory) * 1000); lastTimestamp = timestamp; timeout.getTimer().newTimeout(timeout.getTask(), RESOLUTION, TimeUnit.MILLISECONDS); }
public void run(Timeout timeout) throws Exception { if (isClosed.get()) return; try { if (LOGGER.isDebugEnabled()) for (String key : poolsPerKey.keySet()) { LOGGER.debug("Entry count for : {} : {}", key, poolsPerKey.get(key).size()); } long start = millisTime(); int closedCount = 0; int totalCount = 0; for (ConcurrentLinkedQueue<IdleChannel> pool : poolsPerKey.values()) { // store in intermediate unsynchronized lists to minimize the impact on the ConcurrentLinkedQueue if (LOGGER.isDebugEnabled()) totalCount += pool.size(); List<IdleChannel> closedChannels = closeChannels(expiredChannels(pool, start)); pool.removeAll(closedChannels); int poolClosedCount = closedChannels.size(); closedCount += poolClosedCount; } long duration = millisTime() - start; LOGGER.debug("Closed {} connections out of {} in {}ms", closedCount, totalCount, duration); } catch (Throwable t) { LOGGER.error("uncaught exception!", t); } scheduleNewIdleChannelDetector(timeout.getTask()); } }
scheduleNewIdleChannelDetector(timeout.getTask());
scheduleNewIdleChannelDetector(timeout.getTask());