@Override public void sessionClosed(IoSession session) throws Exception { NEXT_PROTOCOL_KEY.remove(session); LOCAL_ADDRESS.remove(session); REMOTE_ADDRESS.remove(session); super.sessionClosed(session); }
@Override protected final void updateTrafficControl0(T session) { if (!session.isWriteSuspended()) { flush(session); } if (!session.isReadSuspended()) { consume(session); } }
@Override public BridgeSessionInitializer<T> getParentInitializer(Protocol protocol) { return initializer != null ? initializer.getParentInitializer(protocol):super.getParentInitializer(protocol); } };
@Override public void initializeSession(IoSession session, T future) { SslAcceptor.SSL_RESOURCE_ADDRESS.set(session, address); if (parentInitializer != null) { parentInitializer.initializeSession(session, future); } } };
public IoSessionEx setParent(IoSessionEx newParent){ this.setLocalAddress(LOCAL_ADDRESS.get(newParent)); // newParent.getRemoteAddress(); httpSession.setLocalAddress((ResourceAddress)redirectRemoteAddress); upgradeFuture.setSession(newParent); if (!SslUtils.isSecure(newParent) && secure) { throw new InvalidParameterException("Can not switch from a secure session to a non-secure session"); } return super.setParent(newParent); }
@Override public final Binding addBinding(Binding newBinding) { ResourceAddress bindAddress = newBinding.bindAddress(); NextProtocolBinding nextBinding = super.getBinding0(bindAddress); if (nextBinding == null) { NextProtocolBinding newNextBinding = new NextProtocolBinding(bindAddress); nextBinding = addBinding1(newNextBinding); if (nextBinding == null) { nextBinding = newNextBinding; } } return nextBinding.addBinding(newBinding); }
protected IoSessionInitializer<?> getInitializer(ResourceAddress address) { Binding binding = bindings.getBinding(address); if (binding != null) { return binding.initializer(); } return null; }
private void addLoggerFilter(T session, Logger logger) { if (logger != null) { // setup logging filters for the new session LoggingFilter.addIfNeeded(logger, session, getTransportMetadata().getName()); if (session.getParent() != null) { LoggingFilter.moveAfterCodec(session.getParent()); } } }
@Override public IoHandler getHandler(ResourceAddress address) { Binding binding = bindings.getBinding(address); return (binding != null) ? binding.handler() : null; }
@Override public void doSessionCreated(IoSessionEx session) throws Exception { LoggingFilter.addIfNeeded(logger, session, transportName); super.doSessionCreated(session); }
@Override public Binding getBinding(ResourceAddress address) { NextProtocolBinding nextBinding = super.getBinding0(address); if (nextBinding != null) { return nextBinding.getBinding(address); } return null; }
@Override public MessageBuffer<Message> wrap(ByteBuffer nioBuffer, int flags) { boolean shared = (flags & IoBufferEx.FLAG_SHARED) != IoBufferEx.FLAG_NONE; return shared ? new SharedMessageBuffer(nioBuffer) : new UnsharedMessageBuffer(nioBuffer); } }
@Override protected UnsharedMessageBuffer asUnsharedBuffer0() { return new UnsharedMessageBuffer(buf()); }
@Override protected SharedMessageBuffer asSharedBuffer0() { return new SharedMessageBuffer(buf()); }
@Override public void sessionClosed(IoSession session) throws Exception { NEXT_PROTOCOL_KEY.remove(session); LOCAL_ADDRESS.remove(session); REMOTE_ADDRESS.remove(session); super.sessionClosed(session); }
@Override public IoHandler getHandler(ResourceAddress address) { Binding binding = bindings.getBinding(address); return (binding != null) ? binding.handler() : null; }