Return-Path: Delivered-To: apmail-axis-java-dev-archive@www.apache.org Received: (qmail 95948 invoked from network); 26 May 2010 18:49:02 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 May 2010 18:49:02 -0000 Received: (qmail 28434 invoked by uid 500); 26 May 2010 18:49:01 -0000 Delivered-To: apmail-axis-java-dev-archive@axis.apache.org Received: (qmail 28264 invoked by uid 500); 26 May 2010 18:49:00 -0000 Mailing-List: contact java-dev-help@axis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@axis.apache.org Delivered-To: mailing list java-dev@axis.apache.org Received: (qmail 28237 invoked by uid 99); 26 May 2010 18:49:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 May 2010 18:49:00 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 May 2010 18:48:58 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o4QImaqP013847 for ; Wed, 26 May 2010 18:48:36 GMT Message-ID: <29110518.5531274899716668.JavaMail.jira@thor> Date: Wed, 26 May 2010 14:48:36 -0400 (EDT) From: "Andreas Veithen (JIRA)" To: java-dev@axis.apache.org Subject: [jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport In-Reply-To: <9908569.4571274679743467.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871884#action_12871884 ] Andreas Veithen commented on AXIS2-4724: ---------------------------------------- I'd rather propose the following approach. Extract an interface from the current IODispatcher and have two implementations: NonBlockingIODispatcher (with the existing code from IODispatcher) and BlockingIODispatcher. Looking at the public methods of IODispatcher, it should be fairly easy to reimplement the same interface with blocking I/O: addEndpoint(Endpoint) removeEndpoint(Endpoint) stop() One would then have a single UDPListener, but the type of IODispatcher would be configurable. In a second step, multicast support would be introduced into BlockingIODispatcher (with the necessary changes in the IODispatcher interface and the Endpoint class). Of course, any attempt to use multicast together with NonBlockingIODispatcher would result in an error. There will be also two other points we have to look into: 1. The source port in the responses sent by the transport should actually be the port on which the request has been received (i.e. if the request goes from port X to Y, then the response should go from Y to X, not from some random port to X). This is necessary to properly correlate request and responses and also because most UDP clients expect that. This implies that the response must be sent using the DatagramSocket or DatagramChannel on which the request was received (and which is managed by the listener!). 2. Currently, request-response uses a blocking I/O call. However, it should be possible to support a true asynchronous invocation style (i.e. doing request-response without blocking a thread). The first point is tricky because it is not possible to mix blocking and non blocking mode with a single DatagramSocket/Channel. Thus, if the listener uses non blocking I/O, the sender also needs to use it. The second requirement can only be supported with non blocking I/O. Probably what we will have at the end is a design where the UDPListener and UDPSender use a shared IODispatcher instance which is either non blocking (and supports truly asynchronous request-response) or blocking (and supports multicast). > Add Multicast Capabilities to the UDP Transport > ----------------------------------------------- > > Key: AXIS2-4724 > URL: https://issues.apache.org/jira/browse/AXIS2-4724 > Project: Axis2 > Issue Type: Improvement > Components: transports > Reporter: Hiranya Jayathilaka > Fix For: 1.6 > > > With this improvement Axis2 will be able to receive SOAP messages from multicast groups and send requests to multicast groups. Also we will be able to support multicast request - unicast response MEP. I will attach the patch soon. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org For additional commands, e-mail: java-dev-help@axis.apache.org