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/11/21 12:11:48 UTC

svn commit: r345893 - in /directory/network/trunk/src: examples/org/apache/mina/examples/sumup/ examples/org/apache/mina/examples/tennis/ java/org/apache/mina/common/ java/org/apache/mina/common/support/ java/org/apache/mina/transport/socket/nio/suppor...

Author: trustin
Date: Mon Nov 21 03:11:35 2005
New Revision: 345893

URL: http://svn.apache.org/viewcvs?rev=345893&view=rev
Log:
Added IoSession.getCloseFuture() to let users wait for the connection to get closed.

Modified:
    directory/network/trunk/src/examples/org/apache/mina/examples/sumup/Client.java
    directory/network/trunk/src/examples/org/apache/mina/examples/tennis/Main.java
    directory/network/trunk/src/java/org/apache/mina/common/IoSession.java
    directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java
    directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.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/SocketIoProcessor.java
    directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketSessionImpl.java
    directory/network/trunk/src/java/org/apache/mina/transport/vmpipe/support/VmPipeSessionImpl.java

Modified: directory/network/trunk/src/examples/org/apache/mina/examples/sumup/Client.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/examples/org/apache/mina/examples/sumup/Client.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/examples/org/apache/mina/examples/sumup/Client.java (original)
+++ directory/network/trunk/src/examples/org/apache/mina/examples/sumup/Client.java Mon Nov 21 03:11:35 2005
@@ -90,10 +90,7 @@
         }
 
         // wait until the summation is done
-        while( session.isConnected() )
-        {
-            Thread.sleep( 100 );
-        }
+        session.getCloseFuture().join();
         
         // Clear the filter chain so that they are deinitialized.
         connector.getFilterChain().clear();

Modified: directory/network/trunk/src/examples/org/apache/mina/examples/tennis/Main.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/examples/org/apache/mina/examples/tennis/Main.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/examples/org/apache/mina/examples/tennis/Main.java (original)
+++ directory/network/trunk/src/examples/org/apache/mina/examples/tennis/Main.java Mon Nov 21 03:11:35 2005
@@ -50,10 +50,7 @@
         session.write( new TennisBall( 10 ) );
 
         // Wait until the match ends.
-        while( session.isConnected() )
-        {
-            Thread.sleep( 100 );
-        }
+        session.getCloseFuture().join();
         
         registry.unbind( service );
     }

Modified: directory/network/trunk/src/java/org/apache/mina/common/IoSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/IoSession.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/IoSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/IoSession.java Mon Nov 21 03:11:35 2005
@@ -140,6 +140,12 @@
      * (but not disconnected yet) or is closed.
      */
     boolean isClosing();
+    
+    /**
+     * Returns the {@link CloseFuture} of this session.  This method returns
+     * the same instance whenever user calls it.
+     */
+    CloseFuture getCloseFuture();
 
     /**
      * Returns the socket address of remote peer. 

Modified: directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java Mon Nov 21 03:11:35 2005
@@ -50,7 +50,7 @@
     /** 
      * A future that will be set 'closed' when the connection is closed.
      */
-    protected final CloseFuture closeFuture = new CloseFuture();
+    private final CloseFuture closeFuture = new CloseFuture();
     private boolean closing;
 
     // Configuration variables
@@ -95,6 +95,11 @@
         {
             return closing;
         }
+    }
+    
+    public CloseFuture getCloseFuture()
+    {
+        return closeFuture;
     }
     
     public CloseFuture close()

Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java Mon Nov 21 03:11:35 2005
@@ -474,7 +474,7 @@
                 {
                     exceptionMonitor.exceptionCaught( this, e );
                 }
-                session.notifyClose();
+                session.getCloseFuture().setClosed();
                 key.cancel();
                 selector.wakeup(); // wake up again to trigger thread death
             }

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=345893&r1=345892&r2=345893&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 Mon Nov 21 03:11:35 2005
@@ -97,11 +97,6 @@
         return handler;
     }
     
-    void notifyClose()
-    {
-        closeFuture.setClosed();
-    }
-    
     protected void close0( CloseFuture closeFuture )
     {
         managerFilterChain.filterClose( this, closeFuture );

Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketIoProcessor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketIoProcessor.java?rev=345893&r1=345892&r2=345893&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketIoProcessor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketIoProcessor.java Mon Nov 21 03:11:35 2005
@@ -214,7 +214,7 @@
                 releaseWriteBuffers( session );
 
                 session.getManagerFilterChain().sessionClosed( session );
-                session.notifyClose();
+                session.getCloseFuture().setClosed();
             }
         }
     }

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=345893&r1=345892&r2=345893&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 Mon Nov 21 03:11:35 2005
@@ -109,11 +109,6 @@
         return handler;
     }
     
-    void notifyClose()
-    {
-        closeFuture.setClosed();
-    }
-    
     protected void close0( CloseFuture closeFuture )
     {
         filterChain.filterClose( this, closeFuture );

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=345893&r1=345892&r2=345893&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 Mon Nov 21 03:11:35 2005
@@ -118,11 +118,6 @@
         return null;
     }
     
-    CloseFuture getCloseFuture()
-    {
-        return closeFuture;
-    }
-
     protected void close0( CloseFuture closeFuture )
     {
         managerFilterChain.filterClose( this, closeFuture );