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/11 16:05:05 UTC
svn commit: r332577 - in
/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio:
SocketAcceptor.java SocketConnector.java SocketSessionManager.java
support/SocketAcceptorDelegate.java support/SocketConnectorDelegate.java
Author: trustin
Date: Fri Nov 11 07:04:59 2005
New Revision: 332577
URL: http://svn.apache.org/viewcvs?rev=332577&view=rev
Log:
Related issue: DIRMINA-119 Multiple selector loops
* Added a new interface 'SocketSessionManager' to provide some socket-specific property.
Added:
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java (with props)
Modified:
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketConnector.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketAcceptorDelegate.java
directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketConnectorDelegate.java
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?rev=332577&r1=332576&r2=332577&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java Fri Nov 11 07:04:59 2005
@@ -28,7 +28,7 @@
* @author The Apache Directory Project (dev@directory.apache.org)
* @version $Rev$, $Date$
*/
-public class SocketAcceptor extends DelegatedIoAcceptor
+public class SocketAcceptor extends DelegatedIoAcceptor implements SocketSessionManager
{
/**
* Creates a new instance.
@@ -69,5 +69,15 @@
public void setBacklog( int backlog )
{
( ( SocketAcceptorDelegate ) delegate ).setBacklog( backlog );
+ }
+
+ public int getProcessors()
+ {
+ return ( ( SocketAcceptorDelegate ) delegate ).getProcessors();
+ }
+
+ public void setProcessors( int nProcessor )
+ {
+ ( ( SocketAcceptorDelegate ) delegate ).setProcessors( nProcessor );
}
}
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketConnector.java?rev=332577&r1=332576&r2=332577&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketConnector.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketConnector.java Fri Nov 11 07:04:59 2005
@@ -20,6 +20,7 @@
import org.apache.mina.common.IoConnector;
import org.apache.mina.common.support.DelegatedIoConnector;
+import org.apache.mina.transport.socket.nio.support.SocketAcceptorDelegate;
import org.apache.mina.transport.socket.nio.support.SocketConnectorDelegate;
/**
@@ -28,7 +29,7 @@
* @author The Apache Directory Project (dev@directory.apache.org)
* @version $Rev$, $Date$
*/
-public class SocketConnector extends DelegatedIoConnector
+public class SocketConnector extends DelegatedIoConnector implements SocketSessionManager
{
/**
* Creates a new instance.
@@ -36,5 +37,16 @@
public SocketConnector()
{
super( new SocketConnectorDelegate() );
+ }
+
+
+ public int getProcessors()
+ {
+ return ( ( SocketConnectorDelegate ) delegate ).getProcessors();
+ }
+
+ public void setProcessors( int nProcessor )
+ {
+ ( ( SocketConnectorDelegate ) delegate ).setProcessors( nProcessor );
}
}
Added: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java?rev=332577&view=auto
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java (added)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java Fri Nov 11 07:04:59 2005
@@ -0,0 +1,44 @@
+/*
+ * @(#) $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.transport.socket.nio;
+
+import org.apache.mina.common.IoSessionManager;
+
+/**
+ * An {@link IoSessionManager} which provides some properties related with
+ * NIO sockets.
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ *
+ */
+public interface SocketSessionManager
+{
+ /**
+ * Returns the number of worker threads assigned to perform socket I/O.
+ */
+ int getProcessors();
+
+ /**
+ * Sets the number of worker threads assigned to perform socket I/O.
+ * Decreasing this number won't stop threads immediately. It will
+ * not stop until all sessions assigned to it are closed.
+ */
+ void setProcessors( int nProcessor );
+}
Propchange: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/SocketSessionManager.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketAcceptorDelegate.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketAcceptorDelegate.java?rev=332577&r1=332576&r2=332577&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketAcceptorDelegate.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketAcceptorDelegate.java Fri Nov 11 07:04:59 2005
@@ -35,9 +35,7 @@
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.support.BaseIoAcceptor;
import org.apache.mina.common.support.IoSessionManagerFilterChain;
-import org.apache.mina.transport.socket.nio.support.SocketIoProcessor;
-import org.apache.mina.transport.socket.nio.support.SocketSessionImpl;
-import org.apache.mina.transport.socket.nio.support.SocketSessionManagerFilterChain;
+import org.apache.mina.transport.socket.nio.SocketSessionManager;
import org.apache.mina.util.Queue;
/**
@@ -46,7 +44,7 @@
* @author The Apache Directory Project (dev@directory.apache.org)
* @version $Rev$, $Date$
*/
-public class SocketAcceptorDelegate extends BaseIoAcceptor
+public class SocketAcceptorDelegate extends BaseIoAcceptor implements SocketSessionManager
{
private static volatile int nextId = 0;
@@ -203,6 +201,16 @@
}
}
+ public int getProcessors()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setProcessors( int nProcessor )
+ {
+ throw new UnsupportedOperationException();
+ }
+
private class Worker extends Thread
{
public Worker()
Modified: directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketConnectorDelegate.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketConnectorDelegate.java?rev=332577&r1=332576&r2=332577&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketConnectorDelegate.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/transport/socket/nio/support/SocketConnectorDelegate.java Fri Nov 11 07:04:59 2005
@@ -34,9 +34,7 @@
import org.apache.mina.common.IoHandler;
import org.apache.mina.common.support.BaseIoConnector;
import org.apache.mina.common.support.IoSessionManagerFilterChain;
-import org.apache.mina.transport.socket.nio.support.SocketIoProcessor;
-import org.apache.mina.transport.socket.nio.support.SocketSessionImpl;
-import org.apache.mina.transport.socket.nio.support.SocketSessionManagerFilterChain;
+import org.apache.mina.transport.socket.nio.SocketSessionManager;
import org.apache.mina.util.ExceptionUtil;
import org.apache.mina.util.Queue;
@@ -46,7 +44,7 @@
* @author The Apache Directory Project (dev@directory.apache.org)
* @version $Rev$, $Date$
*/
-public class SocketConnectorDelegate extends BaseIoConnector
+public class SocketConnectorDelegate extends BaseIoConnector implements SocketSessionManager
{
private static volatile int nextId = 0;
@@ -255,6 +253,16 @@
}
session.getIoProcessor().addNew( session );
return session;
+ }
+
+ public int getProcessors()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setProcessors( int nProcessor )
+ {
+ throw new UnsupportedOperationException();
}
private class Worker extends Thread