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/05/02 08:27:28 UTC
svn commit: r165586 [2/2] - in /directory/network/trunk/src:
examples/org/apache/mina/examples/echoserver/
examples/org/apache/mina/examples/reverser/ java/org/apache/mina/common/
java/org/apache/mina/io/ java/org/apache/mina/io/datagram/
java/org/apache/mina/io/filter/ java/org/apache/mina/io/socket/
java/org/apache/mina/protocol/ java/org/apache/mina/protocol/filter/
java/org/apache/mina/protocol/io/ java/org/apache/mina/protocol/vmpipe/
java/org/apache/mina/registry/ java/org/apache/mina/util/
test/org/apache/mina/examples/echoserver/ test/org/apache/mina/io/
test/org/apache/mina/protocol/
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/vmpipe/VmPipeSession.java Sun May 1 23:27:27 2005
@@ -8,15 +8,15 @@
import org.apache.mina.common.BaseSession;
import org.apache.mina.common.SessionConfig;
-import org.apache.mina.common.SessionInitializer;
import org.apache.mina.common.TransportType;
import org.apache.mina.protocol.ProtocolDecoder;
import org.apache.mina.protocol.ProtocolEncoder;
-import org.apache.mina.protocol.ProtocolHandler;
import org.apache.mina.protocol.ProtocolFilterChain;
+import org.apache.mina.protocol.ProtocolHandler;
import org.apache.mina.protocol.ProtocolSession;
import org.apache.mina.protocol.ProtocolSessionFilterChain;
import org.apache.mina.protocol.vmpipe.VmPipeAcceptor.Entry;
+import org.apache.mina.util.ExceptionUtil;
/**
* A {@link ProtocolSession} for in-VM transport (VM_PIPE).
@@ -50,7 +50,6 @@
VmPipeSession( Object lock, SocketAddress localAddress,
VmPipeSessionManagerFilterChain managerFilterChain,
ProtocolHandler handler,
- SessionInitializer initializer,
Entry remoteEntry ) throws IOException
{
this.lock = lock;
@@ -65,7 +64,7 @@
// initialize remote session
try
{
- remoteEntry.initializer.initializeSession( remoteSession );
+ remoteEntry.handler.sessionCreated( remoteSession );
}
catch( Throwable t )
{
@@ -76,7 +75,14 @@
}
// initialize client session
- initializer.initializeSession( this );
+ try
+ {
+ handler.sessionCreated( this );
+ }
+ catch( Throwable t )
+ {
+ ExceptionUtil.throwException( t );
+ }
remoteEntry.managerFilterChain.sessionOpened( remoteSession );
managerFilterChain.sessionOpened( this );
Modified: directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/registry/ServiceRegistry.java Sun May 1 23:27:27 2005
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.util.Set;
-import org.apache.mina.common.SessionInitializer;
import org.apache.mina.common.TransportType;
import org.apache.mina.io.IoAcceptor;
import org.apache.mina.io.IoHandler;
@@ -48,18 +47,6 @@
*/
void bind( Service service, ProtocolProvider protocolProvider )
throws IOException;
-
- /**
- * Binds the specified I/O handler to the specified service.
- */
- void bind( Service service,
- IoHandler ioHandler, SessionInitializer initializer ) throws IOException;
-
- /**
- * Binds the specified protocol provider to the specified service.
- */
- void bind( Service service, ProtocolProvider protocolProvider,
- SessionInitializer initializer ) throws IOException;
/**
* Unbinds the specified service (and its aggregated I/O handler or
Modified: directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/registry/SimpleServiceRegistry.java Sun May 1 23:27:27 2005
@@ -10,7 +10,6 @@
import java.util.Iterator;
import java.util.Set;
-import org.apache.mina.common.SessionInitializer;
import org.apache.mina.common.TransportType;
import org.apache.mina.io.IoAcceptor;
import org.apache.mina.io.IoHandler;
@@ -64,31 +63,17 @@
public void bind( Service service, IoHandler ioHandler ) throws IOException
{
- bind( service, ioHandler, null );
- }
-
- public synchronized void bind( Service service,
- ProtocolProvider protocolProvider ) throws IOException
- {
- bind( service, protocolProvider, null );
- }
-
- public synchronized void bind( Service service,
- IoHandler ioHandler,
- SessionInitializer initializer ) throws IOException
- {
IoAcceptor acceptor = findIoAcceptor( service.getTransportType() );
- acceptor.bind( service.getAddress(), ioHandler, initializer );
+ acceptor.bind( service.getAddress(), ioHandler );
startThreadPools();
services.add( service );
}
public synchronized void bind( Service service,
- ProtocolProvider protocolProvider,
- SessionInitializer initializer ) throws IOException
+ ProtocolProvider protocolProvider ) throws IOException
{
ProtocolAcceptor acceptor = findProtocolAcceptor( service.getTransportType() );
- acceptor.bind( service.getAddress(), protocolProvider, initializer );
+ acceptor.bind( service.getAddress(), protocolProvider );
startThreadPools();
services.add( service );
}
Added: directory/network/trunk/src/java/org/apache/mina/util/SessionUtil.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/util/SessionUtil.java?rev=165586&view=auto
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/util/SessionUtil.java (added)
+++ directory/network/trunk/src/java/org/apache/mina/util/SessionUtil.java Sun May 1 23:27:27 2005
@@ -0,0 +1,56 @@
+/*
+ * @(#) $Id$
+ *
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.mina.util;
+
+import java.net.SocketException;
+
+import org.apache.mina.common.Session;
+import org.apache.mina.common.SessionConfig;
+import org.apache.mina.io.datagram.DatagramSessionConfig;
+import org.apache.mina.io.socket.SocketSessionConfig;
+
+/**
+ * Exception utility.
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @author Trustin Lee (trustin@apache.org)
+ * @version $Rev$, $Date$
+ */
+public class SessionUtil
+{
+ public static void initialize( Session session ) throws SocketException
+ {
+ SessionConfig config = session.getConfig();
+ if( config instanceof SocketSessionConfig )
+ {
+ SocketSessionConfig ssc = ( SocketSessionConfig ) config;
+ ssc.setReuseAddress( true );
+ ssc.setKeepAlive( true );
+ }
+ else if( config instanceof DatagramSessionConfig )
+ {
+ DatagramSessionConfig dsc = ( DatagramSessionConfig ) config;
+ dsc.setReuseAddress( true );
+ }
+ }
+
+ private SessionUtil()
+ {
+ }
+}
Propchange: directory/network/trunk/src/java/org/apache/mina/util/SessionUtil.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
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=165586&r1=165585&r2=165586&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 Sun May 1 23:27:27 2005
@@ -20,12 +20,9 @@
import java.io.IOException;
-import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.mina.common.ByteBuffer;
-import org.apache.mina.common.Session;
-import org.apache.mina.common.SessionInitializer;
import org.apache.mina.common.TransportType;
import org.apache.mina.registry.Service;
import org.apache.mina.registry.ServiceRegistry;
@@ -39,17 +36,12 @@
*/
public class AbstractTest extends TestCase
{
- private final boolean testInitializer;
-
- private MarkingInitializer initializer;
-
protected int port;
protected ServiceRegistry registry;
- protected AbstractTest( boolean testInitializer )
+ protected AbstractTest()
{
- this.testInitializer = testInitializer;
}
protected static void assertEquals( byte[] expected, byte[] actual )
@@ -82,11 +74,6 @@
{
registry = new SimpleServiceRegistry();
- if( testInitializer )
- {
- initializer = new MarkingInitializer();
- }
-
// Find an availble test port and bind to it.
boolean socketBound = false;
boolean datagramBound = false;
@@ -104,13 +91,10 @@
try
{
- registry.bind( socketService,
- new EchoProtocolHandler(), initializer );
+ registry.bind( socketService, new EchoProtocolHandler() );
socketBound = true;
- registry.bind( datagramService,
- new EchoProtocolHandler(),
- initializer );
+ registry.bind( datagramService, new EchoProtocolHandler() );
datagramBound = true;
break;
@@ -139,19 +123,5 @@
protected void tearDown() throws Exception
{
registry.unbindAll();
- if( initializer != null )
- {
- Assert.assertTrue( initializer.executed );
- }
- }
-
- private static class MarkingInitializer implements SessionInitializer
- {
- private boolean executed;
-
- public void initializeSession(Session session) throws IOException
- {
- executed = true;
- }
}
}
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=165586&r1=165585&r2=165586&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 Sun May 1 23:27:27 2005
@@ -47,7 +47,6 @@
{
public AcceptorTest()
{
- super( true );
}
public void testTCP() throws Exception
Modified: directory/network/trunk/src/test/org/apache/mina/examples/echoserver/ConnectorTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/examples/echoserver/ConnectorTest.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/examples/echoserver/ConnectorTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/examples/echoserver/ConnectorTest.java Sun May 1 23:27:27 2005
@@ -18,7 +18,6 @@
*/
package org.apache.mina.examples.echoserver;
-import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
@@ -26,8 +25,6 @@
import junit.framework.Assert;
import org.apache.mina.common.ByteBuffer;
-import org.apache.mina.common.Session;
-import org.apache.mina.common.SessionInitializer;
import org.apache.mina.common.TransportType;
import org.apache.mina.examples.echoserver.ssl.BogusSSLContextFactory;
import org.apache.mina.io.IoAcceptor;
@@ -51,7 +48,6 @@
public ConnectorTest()
{
- super( false );
}
public void setUp() throws Exception
@@ -99,16 +95,13 @@
private void testConnector( IoConnector connector ) throws Exception
{
- MarkingInitializer marker;
InetSocketAddress localAddress = new InetSocketAddress( clientPort );
System.out.println("* Without localAddress and initializer");
- testConnector( connector, null, null );
+ testConnector( connector, null );
System.out.println("* Without localAddress and with initializer");
- marker = new MarkingInitializer();
- testConnector( connector, null, marker );
- Assert.assertTrue( marker.executed );
+ testConnector( connector, null );
// Tests below fail in Windows platform.
if( System.getProperty("os.name").toLowerCase().indexOf( "windows" ) >= 0 )
@@ -119,7 +112,7 @@
}
System.out.println("* With localAddress and without initializer");
- testConnector( connector, localAddress, null );
+ testConnector( connector, localAddress );
// It takes some time for local address to be cleared by OS,
// so let's just get a new one rather than waiting for it.
@@ -127,21 +120,17 @@
localAddress = new InetSocketAddress( clientPort );
System.out.println("* With localAddress and initializer");
- marker = new MarkingInitializer();
- testConnector( connector, localAddress, marker );
- Assert.assertTrue( marker.executed );
+ testConnector( connector, localAddress );
}
- private void testConnector( IoConnector connector, SocketAddress localAddress,
- SessionInitializer initializer ) throws Exception
+ private void testConnector( IoConnector connector, SocketAddress localAddress ) throws Exception
{
EchoConnectorHandler handler = new EchoConnectorHandler();
ByteBuffer readBuf = handler.readBuf;
IoSession session = connector.connect(
new InetSocketAddress( InetAddress.getLocalHost(), port ),
localAddress,
- handler,
- initializer );
+ handler );
for( int i = 0; i < 10; i ++ )
{
@@ -241,16 +230,6 @@
public void exceptionCaught( IoSession session, Throwable cause )
{
cause.printStackTrace();
- }
- }
-
- private static class MarkingInitializer implements SessionInitializer
- {
- private boolean executed;
-
- public void initializeSession(Session session) throws IOException
- {
- executed = true;
}
}
}
Modified: directory/network/trunk/src/test/org/apache/mina/io/IoFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/io/IoFilterChainTest.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/io/IoFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/io/IoFilterChainTest.java Sun May 1 23:27:27 2005
@@ -104,7 +104,7 @@
private class TestSession extends BaseSession implements IoSession
{
- private IoHandler handler = new IoHandler()
+ private IoHandler handler = new IoHandlerAdapter()
{
public void sessionOpened(IoSession session) {
result += "HSO ";
Modified: directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolFilterChainTest.java?rev=165586&r1=165585&r2=165586&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/protocol/ProtocolFilterChainTest.java Sun May 1 23:27:27 2005
@@ -103,7 +103,7 @@
private class TestSession extends BaseSession implements ProtocolSession
{
- private ProtocolHandler handler = new ProtocolHandler()
+ private ProtocolHandler handler = new ProtocolHandlerAdapter()
{
public void sessionOpened(ProtocolSession session) {
result += "HSO";