Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 46580 invoked from network); 6 Apr 2005 05:18:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Apr 2005 05:18:35 -0000 Received: (qmail 63916 invoked by uid 500); 6 Apr 2005 05:18:35 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 63875 invoked by uid 500); 6 Apr 2005 05:18:35 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 63859 invoked by uid 99); 6 Apr 2005 05:18:35 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Tue, 05 Apr 2005 22:18:34 -0700 Received: (qmail 46556 invoked by uid 65534); 6 Apr 2005 05:18:33 -0000 Message-ID: <20050406051833.46555.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Wed, 06 Apr 2005 05:18:33 -0000 Subject: svn commit: r160253 - in directory/network/trunk/src: examples/org/apache/mina/examples/registry/Main.java java/org/apache/mina/registry/Service.java java/org/apache/mina/registry/SimpleServiceRegistry.java To: commits@directory.apache.org From: trustin@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Tue Apr 5 22:18:31 2005 New Revision: 160253 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D160253 Log: Fixed: Users cannot specify the interface to bind on to ServiceRegistry. Modified: directory/network/trunk/src/examples/org/apache/mina/examples/registry/= Main.java directory/network/trunk/src/java/org/apache/mina/registry/Service.java directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java Modified: directory/network/trunk/src/examples/org/apache/mina/examples/reg= istry/Main.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/examples/org= /apache/mina/examples/registry/Main.java?view=3Ddiff&r1=3D160252&r2=3D160253 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/examples/org/apache/mina/examples/registry/= Main.java (original) +++ directory/network/trunk/src/examples/org/apache/mina/examples/registry/= Main.java Tue Apr 5 22:18:31 2005 @@ -3,9 +3,12 @@ */ package org.apache.mina.examples.registry; =20 +import java.net.InetSocketAddress; + import org.apache.mina.common.TransportType; import org.apache.mina.examples.echoserver.EchoProtocolHandler; import org.apache.mina.examples.reverser.ReverseProtocolProvider; +import org.apache.mina.protocol.vmpipe.VmPipeAddress; import org.apache.mina.registry.Service; import org.apache.mina.registry.ServiceRegistry; import org.apache.mina.registry.SimpleServiceRegistry; @@ -26,20 +29,27 @@ ServiceRegistry registry =3D new SimpleServiceRegistry(); =20 // Register echo service - registry.bind( new Service( "echo", TransportType.SOCKET, 8080 ), - new EchoProtocolHandler() ); - registry.bind( new Service( "echo", TransportType.DATAGRAM, 8080 ), - new EchoProtocolHandler() ); + registry.bind( new Service( "echo", TransportType.SOCKET, + new InetSocketAddress( 8080 ) ), + new EchoProtocolHandler() ); + + registry.bind( new Service( "echo", TransportType.DATAGRAM, + new InetSocketAddress( 8080 ) ), + new EchoProtocolHandler() ); =20 // Register reverse service - registry.bind( new Service( "reverse", TransportType.SOCKET, 8081 = ), - new ReverseProtocolProvider() ); - registry.bind( - new Service( "reverse", TransportType.DATAGRAM, 8081 ), - new ReverseProtocolProvider() ); - registry.bind( new Service( "reverse", TransportType.VM_PIPE, 8081= ), - new ReverseProtocolProvider() ); + registry.bind( new Service( "reverse", TransportType.SOCKET, + new InetSocketAddress( 8081 ) ), + new ReverseProtocolProvider() ); + + registry.bind( new Service( "reverse", TransportType.DATAGRAM, + new InetSocketAddress( 8081 ) ), + new ReverseProtocolProvider() ); + + registry.bind( new Service( "reverse", TransportType.VM_PIPE, + new VmPipeAddress( 8081 ) ), + new ReverseProtocolProvider() ); =20 - System.out.println(registry.getAllServices()); + System.out.println( registry.getAllServices() ); } } Modified: directory/network/trunk/src/java/org/apache/mina/registry/Service= .java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/registry/Service.java?view=3Ddiff&r1=3D160252&r2=3D160253 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/registry/Service.java = (original) +++ directory/network/trunk/src/java/org/apache/mina/registry/Service.java = Tue Apr 5 22:18:31 2005 @@ -19,8 +19,10 @@ package org.apache.mina.registry; =20 import java.io.Serializable; +import java.net.SocketAddress; =20 import org.apache.mina.common.TransportType; +import org.apache.mina.protocol.vmpipe.VmPipeAddress; =20 /** * Represents a service that is registered to {@link ServiceRegistry}. @@ -36,24 +38,31 @@ =20 private final TransportType transportType; =20 - private final int port; + private final SocketAddress address; =20 /** * Creates a new instance with the specified protocol name, transport = type, - * and port number. + * and socket address to be bound. */ - public Service( String name, TransportType transportType, int port ) + public Service( String name, TransportType transportType, SocketAddres= s address ) { if( name =3D=3D null ) throw new NullPointerException( "name" ); if( transportType =3D=3D null ) throw new NullPointerException( "transportType" ); - if( port < 0 || port > 65535 ) - throw new IllegalArgumentException( "port: " + port ); + if( address =3D=3D null ) + throw new NullPointerException( "address" ); + + if( transportType =3D=3D TransportType.VM_PIPE && + !( address instanceof VmPipeAddress ) ) + { + throw new IllegalArgumentException( + "VM_PIPE transport type accepts only VmPipeAddress: " = + address.getClass() ); + } =20 this.name =3D name; this.transportType =3D transportType; - this.port =3D port; + this.address =3D address; } =20 /** @@ -73,17 +82,17 @@ } =20 /** - * Returns the port number this service is bound on. + * Returns the socket address this service is bound on. */ - public int getPort() + public SocketAddress getAddress() { - return port; + return address; } =20 public int hashCode() { return ( ( name.hashCode() * 37 ) ^ transportType.hashCode() * 37 = ) - ^ port; + ^ address.hashCode(); } =20 public boolean equals( Object o ) @@ -98,7 +107,7 @@ Service that =3D ( Service ) o; return this.name.equals( that.name ) && this.transportType =3D=3D that.transportType - && this.port =3D=3D that.port; + && this.address.equals( that.address ); } =20 public Object clone() @@ -114,6 +123,6 @@ } =20 public String toString() { - return "(" + transportType + ", " + name + ", " + port + ')'; + return "(" + transportType + ", " + name + ", " + address + ')'; } } Modified: directory/network/trunk/src/java/org/apache/mina/registry/SimpleS= erviceRegistry.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/registry/SimpleServiceRegistry.java?view=3Ddiff&r1=3D160252&r2=3D1= 60253 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java (original) +++ directory/network/trunk/src/java/org/apache/mina/registry/SimpleService= Registry.java Tue Apr 5 22:18:31 2005 @@ -5,6 +5,7 @@ =20 import java.io.IOException; import java.net.InetSocketAddress; +import java.net.SocketAddress; import java.util.HashSet; import java.util.Iterator; import java.util.Set; @@ -66,7 +67,7 @@ throws IOException { IoAcceptor acceptor =3D findIoAcceptor( service.getTransportType()= ); - acceptor.bind( new InetSocketAddress( service.getPort() ), ioHandl= er ); + acceptor.bind( service.getAddress(), ioHandler ); startThreadPools(); services.add( service ); } @@ -77,16 +78,7 @@ { ProtocolAcceptor acceptor =3D findProtocolAcceptor( service .getTransportType() ); - if( acceptor instanceof VmPipeAcceptor ) - { - acceptor.bind( new VmPipeAddress( service.getPort() ), - protocolProvider ); - } - else - { - acceptor.bind( new InetSocketAddress( service.getPort() ), - protocolProvider ); - } + acceptor.bind( service.getAddress(), protocolProvider ); startThreadPools(); services.add( service ); } @@ -97,7 +89,7 @@ .getTransportType() ); try { - acceptor.unbind( new InetSocketAddress( service.getPort() ) ); + acceptor.unbind( service.getAddress() ); } catch( Exception e ) { @@ -106,7 +98,7 @@ =20 try { - acceptor.unbind( new VmPipeAddress( service.getPort() ) ); + acceptor.unbind( service.getAddress() ); } catch( Exception e ) { @@ -167,7 +159,23 @@ while( it.hasNext() ) { Service s =3D ( Service ) it.next(); - if( s.getPort() =3D=3D port ) + SocketAddress addr =3D ( SocketAddress ) s.getAddress(); + int servicePort; + =20 + if( addr instanceof InetSocketAddress ) + { + servicePort =3D ( ( InetSocketAddress ) addr ).getPort(); + } + else if( addr instanceof VmPipeAddress ) + { + servicePort =3D ( ( VmPipeAddress ) addr ).getPort(); + } + else + { + servicePort =3D -1; // this cannot happen=20 + } + =20 + if( servicePort =3D=3D port ) { result.add( s ); }