[jboss-remoting-commits] JBoss Remoting SVN: r5050 - in remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3: spi and 1 other directory.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Apr 15 20:26:11 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-04-15 20:26:11 -0400 (Wed, 15 Apr 2009)
New Revision: 5050

Added:
   remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/AbstractEndpointConnectionAcceptor.java
   remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/EndpointConnectionAcceptor.java
Modified:
   remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/Endpoint.java
   remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/EndpointImpl.java
Log:
Add a mechanism for an endpoint to receive incoming connections

Modified: remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/Endpoint.java
===================================================================
--- remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/Endpoint.java	2009-04-15 06:12:37 UTC (rev 5049)
+++ remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/Endpoint.java	2009-04-16 00:26:11 UTC (rev 5050)
@@ -9,6 +9,7 @@
 import org.jboss.remoting3.spi.RequestHandler;
 import org.jboss.remoting3.spi.RequestHandlerSource;
 import org.jboss.remoting3.spi.ConnectionProvider;
+import org.jboss.remoting3.spi.EndpointConnectionAcceptor;
 import org.jboss.xnio.IoFuture;
 
 /**
@@ -145,7 +146,7 @@
      * @param provider the provider
      * @return a handle which may be used to remove the registration
      */
-    SimpleCloseable addConnectionProvider(String uriScheme, ConnectionProvider<?> provider);
+    EndpointConnectionAcceptor addConnectionProvider(String uriScheme, ConnectionProvider<?> provider);
 
     /**
      * Get the type of resource specified by the given URI.  If the type cannot be determined, returns {@link org.jboss.remoting3.ResourceType#UNKNOWN UNKNOWN}.

Modified: remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/EndpointImpl.java
===================================================================
--- remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/EndpointImpl.java	2009-04-15 06:12:37 UTC (rev 5049)
+++ remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/EndpointImpl.java	2009-04-16 00:26:11 UTC (rev 5050)
@@ -48,6 +48,8 @@
 import org.jboss.remoting3.spi.RequestHandlerSource;
 import org.jboss.remoting3.spi.Cancellable;
 import org.jboss.remoting3.spi.EndpointConnection;
+import org.jboss.remoting3.spi.EndpointConnectionAcceptor;
+import org.jboss.remoting3.spi.AbstractEndpointConnectionAcceptor;
 import org.jboss.xnio.IoFuture;
 import org.jboss.xnio.IoUtils;
 import org.jboss.xnio.WeakCloseable;
@@ -382,7 +384,7 @@
         return futureEndpointConn;
     }
 
-    public SimpleCloseable addConnectionProvider(final String uriScheme, final ConnectionProvider<?> provider) {
+    public EndpointConnectionAcceptor addConnectionProvider(final String uriScheme, final ConnectionProvider<?> provider) {
         final SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             sm.checkPermission(ADD_CONNECTION_PROVIDER_PERM);
@@ -391,10 +393,14 @@
         if (connectionProviders.putIfAbsent(key, provider) != null) {
             throw new IllegalArgumentException("Provider already registered for scheme \"" + uriScheme + "\"");
         }
-        return new AbstractSimpleCloseable(executor) {
+        return new AbstractEndpointConnectionAcceptor(executor) {
             protected void closeAction() throws IOException {
                 connectionProviders.remove(key, provider);
             }
+
+            public void accept(final EndpointConnection connection) {
+                // todo - add the endpoint connection to the endpoint registry; notify listeners; etc.
+            }
         };
     }
 

Added: remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/AbstractEndpointConnectionAcceptor.java
===================================================================
--- remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/AbstractEndpointConnectionAcceptor.java	                        (rev 0)
+++ remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/AbstractEndpointConnectionAcceptor.java	2009-04-16 00:26:11 UTC (rev 5050)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.remoting3.spi;
+
+import java.util.concurrent.Executor;
+
+public abstract class AbstractEndpointConnectionAcceptor extends AbstractHandleableCloseable<EndpointConnectionAcceptor> implements EndpointConnectionAcceptor {
+
+    /**
+     * Basic constructor.
+     *
+     * @param executor the executor used to execute the close notification handlers
+     */
+    protected AbstractEndpointConnectionAcceptor(final Executor executor) {
+        super(executor);
+    }
+}

Added: remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/EndpointConnectionAcceptor.java
===================================================================
--- remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/EndpointConnectionAcceptor.java	                        (rev 0)
+++ remoting3/trunk/jboss-remoting/src/main/java/org/jboss/remoting3/spi/EndpointConnectionAcceptor.java	2009-04-16 00:26:11 UTC (rev 5050)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.remoting3.spi;
+
+import org.jboss.remoting3.HandleableCloseable;
+
+/**
+ *
+ */
+public interface EndpointConnectionAcceptor extends HandleableCloseable<EndpointConnectionAcceptor> {
+    void accept(EndpointConnection connection);
+}




More information about the jboss-remoting-commits mailing list