@Override public String getSessionRemoteAddress(IoSessionEx session) { // if we happen to have a bridge session, go up until we don't // WsebSessions do not, for some reason, and it looks like their // reader and writer are null, too. while (session instanceof AbstractBridgeSession) { IoSessionEx parentSession = ((AbstractBridgeSession<?, ?>) session).getParent(); if (parentSession == null) { break; } session = parentSession; } SocketAddress remoteAddress = session.getRemoteAddress(); if (remoteAddress != null) { if (remoteAddress instanceof InetSocketAddress) { return ((InetSocketAddress) remoteAddress).getAddress().toString(); } else { return remoteAddress.toString(); } } return ""; }
protected void removeInternal(T session) { IoSession parent = session.getParent(); if (parent != null && !parent.isClosing()) { parent.close(false); } }
protected void flushInternal(T session) { IoSessionEx parent = session.getParent(); if (parent == null) { return;
&& ((AbstractBridgeSession<?,?>) session).getLocalAddress().getOption(WsResourceAddress.LIGHTWEIGHT)) { filterChain = ((AbstractBridgeSession<?,?>) session).getParent().getFilterChain();
IoSession parent = ((AbstractBridgeSession<?,?>) filterChain.getSession()).getParent(); WsCheckAliveFilter.moveIfFeatureEnabled(parent.getFilterChain(), filterChain, CHECK_ALIVE_FILTER, localAddress.getOption(INACTIVITY_TIMEOUT), logger);