@SuppressWarnings({ "unchecked", "rawtypes" }) public void operationComplete(CloseFuture future) { // now connection should be closed log.debug("Close operation completed {}: {}", sessionId, future.isClosed()); future.removeListener(this); for (Object key : session.getAttributeKeys()) { Object obj = session.getAttribute(key); log.debug("{}: {}", key, obj); if (obj != null) { if (log.isTraceEnabled()) { log.trace("Attribute: {}", obj.getClass().getName()); } if (obj instanceof IoProcessor) { log.debug("Flushing session in processor"); ((IoProcessor) obj).flush(session); log.debug("Removing session from processor"); ((IoProcessor) obj).remove(session); } else if (obj instanceof IoBuffer) { log.debug("Clearing session buffer"); ((IoBuffer) obj).clear(); ((IoBuffer) obj).free(); } } } } };
/** * {@inheritDoc} */ @Override public final void remove(S session) { getProcessor(session).remove(session); }
@SuppressWarnings("unchecked") @Override public void filterClose(NextFilter nextFilter, IoSession session) throws Exception { ((AbstractIoSession) session).getProcessor().remove(session); } }
/** * {@inheritDoc} */ @Override public final void remove(S session) { getProcessor(session).remove(session); }
@SuppressWarnings("unchecked") @Override public void filterClose(NextFilter nextFilter, IoSession session) throws Exception { ((AbstractIoSession) session).getProcessor().remove(session); } }
@SuppressWarnings("unchecked") @Override public void filterClose(NextFilter nextFilter, IoSession session) throws Exception { ((AbstractIoSession) session).getProcessor().remove(session); } }
@SuppressWarnings("unchecked") @Override public void filterClose(NextFilter nextFilter, IoSession session) throws Exception { ((AbstractIoSession) session).getProcessor().remove(session); } }
public final void remove(T session) { getProcessor(session).remove(session); }