You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/10/19 19:16:04 UTC
svn commit: r326611 - in /directory/network/trunk/src:
java/org/apache/mina/common/ java/org/apache/mina/common/support/
java/org/apache/mina/filter/
java/org/apache/mina/transport/socket/nio/support/
java/org/apache/mina/transport/vmpipe/support/ test...
Author: trustin
Date: Wed Oct 19 10:15:48 2005
New Revision: 326611
URL: http://svn.apache.org/viewcvs?rev=326611&view=rev
Log:
Implemented: DIRMINA-105 - IoFilter.filterClose()
Modified:
directory/network/trunk/src/java/org/apache/mina/common/IoFilter.java
directory/network/trunk/src/java/org/apache/mina/common/IoFilterAdapter.java
directory/network/trunk/src/java/org/apache/mina/common/support/AbstractIoFilterChain.java
directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionFilterChain.java
directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionManagerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/filter/LoggingFilter.java
directory/network/trunk/src/java/org/apache/mina/filter/ThreadPoolFilter.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionManagerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionManagerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java
directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionManagerFilterChain.java
directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java
directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AbstractTest.java
directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AcceptorTest.java
directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java
Modified: directory/network/trunk/src/java/org/apache/mina/common/IoFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/IoFilter.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/IoFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/IoFilter.java Wed Oct 19 10:15:48 2005
@@ -98,6 +98,11 @@
Object message ) throws Exception;
/**
+ * Filters {@link IoSession#close()} method invocation.
+ */
+ void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception;
+
+ /**
* Filters {@link IoSession#write(Object)} method invocation.
*/
void filterWrite( NextFilter nextFilter, IoSession session, WriteRequest writeRequest ) throws Exception;
@@ -141,6 +146,11 @@
* Forwards <tt>filterWrite</tt> event to next filter.
*/
void filterWrite( IoSession session, WriteRequest writeRequest );
+
+ /**
+ * Forwards <tt>filterClose</tt> event to next filter.
+ */
+ void filterClose( IoSession session, CloseFuture closeFuture );
}
/**
Modified: directory/network/trunk/src/java/org/apache/mina/common/IoFilterAdapter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/IoFilterAdapter.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/IoFilterAdapter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/IoFilterAdapter.java Wed Oct 19 10:15:48 2005
@@ -18,7 +18,6 @@
*/
package org.apache.mina.common;
-
/**
* An abstract adapter class for {@link IoFilter}. You can extend
* this class and selectively override required event filter methods only. All
@@ -70,5 +69,10 @@
public void filterWrite( NextFilter nextFilter, IoSession session, WriteRequest writeRequest ) throws Exception
{
nextFilter.filterWrite( session, writeRequest );
+ }
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ nextFilter.filterClose( session, closeFuture );
}
}
Modified: directory/network/trunk/src/java/org/apache/mina/common/support/AbstractIoFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/support/AbstractIoFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/support/AbstractIoFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/support/AbstractIoFilterChain.java Wed Oct 19 10:15:48 2005
@@ -25,6 +25,7 @@
import java.util.List;
import java.util.Map;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoFilter;
import org.apache.mina.common.IoFilterChain;
@@ -140,6 +141,11 @@
": " + writeRequest );
}
}
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ doClose( session, closeFuture );
+ }
};
}
@@ -211,6 +217,11 @@
{
nextFilter.filterWrite( session, writeRequest );
}
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ nextFilter.filterClose( session, closeFuture );
+ }
};
}
@@ -497,6 +508,26 @@
}
}
+ public void filterClose( IoSession session, CloseFuture closeFuture )
+ {
+ Entry tail = this.tail;
+ callPreviousFilterClose( tail, session, closeFuture );
+ }
+
+ private void callPreviousFilterClose( Entry entry,
+ IoSession session,
+ CloseFuture closeFuture )
+ {
+ try
+ {
+ entry.filter.filterClose( entry.nextFilter, session, closeFuture );
+ }
+ catch( Throwable e )
+ {
+ exceptionCaught( session, e );
+ }
+ }
+
public List getAll()
{
List list = new ArrayList();
@@ -535,6 +566,8 @@
}
protected abstract void doWrite( IoSession session, WriteRequest writeRequest );
+
+ protected abstract void doClose( IoSession session, CloseFuture closeFuture );
private class Entry
{
@@ -608,6 +641,12 @@
{
Entry nextEntry = Entry.this.prevEntry;
callPreviousFilterWrite( nextEntry, session, writeRequest );
+ }
+
+ public void filterClose( IoSession session, CloseFuture closeFuture )
+ {
+ Entry nextEntry = Entry.this.prevEntry;
+ callPreviousFilterClose( nextEntry, session, closeFuture );
}
};
}
Modified: directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionFilterChain.java Wed Oct 19 10:15:48 2005
@@ -18,6 +18,7 @@
*/
package org.apache.mina.common.support;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IoFilterChain;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoFilter.WriteRequest;
@@ -49,5 +50,10 @@
protected void doWrite( IoSession session, WriteRequest writeRequest )
{
managerChain.filterWrite( session, writeRequest );
+ }
+
+ protected void doClose( IoSession session, CloseFuture closeFuture )
+ {
+ managerChain.filterClose( session, closeFuture );
}
}
Modified: directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionManagerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionManagerFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionManagerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/support/IoSessionManagerFilterChain.java Wed Oct 19 10:15:48 2005
@@ -18,6 +18,7 @@
*/
package org.apache.mina.common.support;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoFilter;
import org.apache.mina.common.IoFilterChain;
@@ -97,6 +98,11 @@
IoSession session, WriteRequest writeRequest )
{
nextFilter.filterWrite( session, writeRequest );
+ }
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ nextFilter.filterClose( session, closeFuture );
}
};
}
Modified: directory/network/trunk/src/java/org/apache/mina/filter/LoggingFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/filter/LoggingFilter.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/filter/LoggingFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/filter/LoggingFilter.java Wed Oct 19 10:15:48 2005
@@ -18,6 +18,7 @@
*/
package org.apache.mina.filter;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoFilter;
import org.apache.mina.common.IoSession;
@@ -99,6 +100,12 @@
{
SessionLog.info( session, "WRITE: " + writeRequest );
nextFilter.filterWrite( session, writeRequest );
+ }
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ SessionLog.info( session, "CLOSE" );
+ nextFilter.filterClose( session, closeFuture );
}
public void filterAdded( Object parent ) throws Exception
Modified: directory/network/trunk/src/java/org/apache/mina/filter/ThreadPoolFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/filter/ThreadPoolFilter.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/filter/ThreadPoolFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/filter/ThreadPoolFilter.java Wed Oct 19 10:15:48 2005
@@ -22,6 +22,7 @@
import java.util.Map;
import java.util.Set;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoFilter;
import org.apache.mina.common.IoHandler;
@@ -641,6 +642,11 @@
public void filterWrite( NextFilter nextFilter, IoSession session, WriteRequest writeRequest )
{
nextFilter.filterWrite( session, writeRequest );
+ }
+
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ nextFilter.filterClose( session, closeFuture );
}
public synchronized void filterAdded( Object parent )
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java Wed Oct 19 10:15:48 2005
@@ -27,7 +27,6 @@
import org.apache.mina.common.IoFilterChain;
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionManager;
import org.apache.mina.common.TransportType;
import org.apache.mina.common.WriteFuture;
import org.apache.mina.common.IoFilter.WriteRequest;
@@ -117,15 +116,7 @@
{
if( !closeFuture.isReady() )
{
- IoSessionManager manager = managerFilterChain.getManager();
- if( manager instanceof DatagramConnectorDelegate )
- {
- ( ( DatagramConnectorDelegate ) manager ).closeSession( this );
- }
- else
- {
- closeFuture.setClosed( true );
- }
+ managerFilterChain.filterClose( this, closeFuture );
}
return closeFuture;
}
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionManagerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionManagerFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionManagerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramSessionManagerFilterChain.java Wed Oct 19 10:15:48 2005
@@ -1,7 +1,9 @@
package org.apache.mina.transport.socket.nio.support;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IoFilterChain;
import org.apache.mina.common.IoSession;
+import org.apache.mina.common.IoSessionManager;
import org.apache.mina.common.IoFilter.WriteRequest;
import org.apache.mina.common.support.IoSessionManagerFilterChain;
import org.apache.mina.util.Queue;
@@ -31,6 +33,19 @@
// Notify DatagramSessionManager only when writeRequestQueue was empty.
( ( DatagramSessionManager ) getManager() ).flushSession( s );
}
+ }
+ }
+
+ protected void doClose( IoSession session, CloseFuture closeFuture )
+ {
+ IoSessionManager manager = getManager();
+ if( manager instanceof DatagramConnectorDelegate )
+ {
+ ( ( DatagramConnectorDelegate ) manager ).closeSession( ( DatagramSessionImpl ) session );
+ }
+ else
+ {
+ closeFuture.setClosed( true );
}
}
}
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java Wed Oct 19 10:15:48 2005
@@ -111,7 +111,7 @@
{
if( !closeFuture.isReady() )
{
- SocketIoProcessor.getInstance().removeSession( this );
+ managerFilterChain.filterClose( this, closeFuture );
}
return closeFuture;
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionManagerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionManagerFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionManagerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionManagerFilterChain.java Wed Oct 19 10:15:48 2005
@@ -1,6 +1,7 @@
package org.apache.mina.transport.socket.nio.support;
import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IoFilterChain;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionManager;
@@ -35,5 +36,10 @@
SocketIoProcessor.getInstance().flushSession( s );
}
}
+ }
+
+ protected void doClose( IoSession session, CloseFuture closeFuture )
+ {
+ SocketIoProcessor.getInstance().removeSession( ( SocketSessionImpl ) session );
}
}
Modified: directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java Wed Oct 19 10:15:48 2005
@@ -129,18 +129,8 @@
public CloseFuture close()
{
- synchronized( lock )
- {
- if( !closed )
- {
- closed = remoteSession.closed = true;
- managerFilterChain.sessionClosed( this );
- remoteSession.getManagerFilterChain().sessionClosed( remoteSession );
- }
- }
-
CloseFuture future = new CloseFuture();
- future.setClosed( true );
+ managerFilterChain.filterClose( this, future );
return future;
}
Modified: directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionManagerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionManagerFilterChain.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionManagerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionManagerFilterChain.java Wed Oct 19 10:15:48 2005
@@ -1,5 +1,6 @@
package org.apache.mina.transport.vmpipe.support;
+import org.apache.mina.common.CloseFuture;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionManager;
import org.apache.mina.common.IoFilter.WriteRequest;
@@ -27,5 +28,21 @@
writeRequest.getFuture().setWritten( true );
}
}
+ }
+
+ protected void doClose( IoSession session, CloseFuture closeFuture )
+ {
+ VmPipeSessionImpl s = ( VmPipeSessionImpl ) session;
+ synchronized( s.lock )
+ {
+ if( !s.closed )
+ {
+ s.closed = s.remoteSession.closed = true;
+ s.getManagerFilterChain().sessionClosed( session );
+ s.remoteSession.getManagerFilterChain().sessionClosed( s.remoteSession );
+ }
+ }
+
+ closeFuture.setClosed( true );
}
}
Modified: directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java Wed Oct 19 10:15:48 2005
@@ -227,6 +227,11 @@
nextFilter.messageSent( session, message );
}
+ public void filterClose( NextFilter nextFilter, IoSession session, CloseFuture closeFuture ) throws Exception
+ {
+ nextFilter.filterClose( session, closeFuture );
+ }
+
public void filterAdded( Object parent ) throws Exception
{
}
@@ -259,6 +264,10 @@
protected void doWrite( IoSession session, WriteRequest writeRequest )
{
messageSent( session, writeRequest.getMessage() );
+ }
+
+ protected void doClose( IoSession session, CloseFuture closeFuture )
+ {
}
}
Modified: directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AbstractTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AbstractTest.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AbstractTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AbstractTest.java Wed Oct 19 10:15:48 2005
@@ -24,6 +24,7 @@
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.TransportType;
+import org.apache.mina.filter.LoggingFilter;
import org.apache.mina.registry.Service;
import org.apache.mina.registry.ServiceRegistry;
import org.apache.mina.registry.SimpleServiceRegistry;
@@ -117,11 +118,16 @@
throw new IOException( "Cannot bind any test port." );
}
+ registry.getAcceptor( TransportType.SOCKET ).getFilterChain().addLast( "logger", new LoggingFilter() );
+ registry.getAcceptor( TransportType.DATAGRAM ).getFilterChain().addLast( "logger", new LoggingFilter() );
+
System.out.println( "Using port " + port + " for testing." );
}
protected void tearDown() throws Exception
{
registry.unbindAll();
+ registry.getAcceptor( TransportType.SOCKET ).getFilterChain().remove( "logger" );
+ registry.getAcceptor( TransportType.DATAGRAM ).getFilterChain().remove( "logger" );
}
}
Modified: directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AcceptorTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AcceptorTest.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AcceptorTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/examples/echoserver/AcceptorTest.java Wed Oct 19 10:15:48 2005
@@ -35,7 +35,6 @@
import org.apache.mina.examples.echoserver.ssl.BogusSSLContextFactory;
import org.apache.mina.examples.echoserver.ssl.SSLServerSocketFactory;
import org.apache.mina.examples.echoserver.ssl.SSLSocketFactory;
-import org.apache.mina.filter.LoggingFilter;
import org.apache.mina.filter.SSLFilter;
/**
@@ -63,7 +62,6 @@
new SSLFilter( BogusSSLContextFactory.getInstance( true ) );
IoAcceptor acceptor = registry.getAcceptor( TransportType.SOCKET );
acceptor.getFilterChain().addLast( "SSL", sslFilter );
- acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
// Create a commons-net socket factory
SSLSocketFactory.setSslEnabled(true);
Modified: directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java?rev=326611&r1=326610&r2=326611&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java Wed Oct 19 10:15:48 2005
@@ -181,6 +181,10 @@
public void filterWrite( IoSession session, WriteRequest writeRequest )
{
}
+
+ public void filterClose( IoSession session, CloseFuture closeFuture )
+ {
+ }
}
public static void main( String[] args )