final ProtocolCodecFilter stunFilter = new ProtocolCodecFilter( codecFactory);
@Override public void sessionClosed(NextFilter nextFilter, IoSession session) throws Exception { // Call finishDecode() first when a connection is closed. ProtocolDecoder decoder = getDecoder(session); ProtocolDecoderOutput decoderOut = getDecoderOut(session, nextFilter); try { decoder.finishDecode(session, decoderOut); } catch (Throwable t) { ProtocolDecoderException pde; if (t instanceof ProtocolDecoderException) { pde = (ProtocolDecoderException) t; } else { pde = new ProtocolDecoderException(t); } throw pde; } finally { // Dispose all. disposeEncoder(session); disposeDecoder(session); disposeDecoderOut(session); decoderOut.flush(); } nextFilter.sessionClosed(session); }
@Override public void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception { disposeEncoder(parent.getSession()); disposeDecoder(parent.getSession()); disposeDecoderOut(parent.getSession()); }
ProtocolDecoder decoder = getDecoder(session); ProtocolDecoderOutput decoderOut = getDecoderOut(session, nextFilter);
: "-Not-Controlling")); final ProtocolCodecFilter demuxingFilter = new ProtocolCodecFilter( this.m_demuxingCodecFactory); cfg.setThreadModel(threadModel);
@Override protected void bind(final InetSocketAddress bindAddress) { this.bindAddress = bindAddress; acceptor.addListener(this); final DatagramAcceptorConfig config = acceptor.getDefaultConfig(); config.setThreadModel(ThreadModel.MANUAL); config.getSessionConfig().setReuseAddress(true); final ProtocolCodecFilter codecFilter = new ProtocolCodecFilter( this.codecFactory); config.getFilterChain().addLast("stunFilter", codecFilter); config.getFilterChain().addLast("executor", new ExecutorFilter(threadPool)); try { acceptor.bind(bindAddress, this.ioHandler, config); log.debug("Started STUN server!!"); } catch (final IOException e) { log.error("Could not bind server", e); } }
new ProtocolCodecFilter(demuxingCodecFactory);
cfg.getFilterChain(); final ProtocolCodecFilter codecFilter = new ProtocolCodecFilter(codecFactory); filterChainBuilder.addLast("codec", codecFilter); filterChainBuilder.addLast("threadPool", new ExecutorFilter(executor));
new ProtocolCodecFilter(new SipProtocolCodecFactory( headerFactory))); connector.getFilterChain().addLast("threadPool",
final ProtocolCodecFilter dataFilter = new ProtocolCodecFilter( m_dataCodecFactory);