You are viewing a plain text version of this content. The canonical link for it is here.
Posted to savan-dev@ws.apache.org by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org> on 2010/05/24 07:42:23 UTC

[jira] Created: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

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


[jira] Updated: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiranya Jayathilaka updated AXIS2-4724:
---------------------------------------

    Attachment: AXIS2-4724.patch

Here's a patch for the first step of the task. It introduces two IO dispatcher implementations:

NonBlockingIODispatcher (this is the old IODispatcher we had)
BlockingIODispatcher

We can configure the transport listener to load the appropriate dispatcher by setting the transport.udp.blocking parameter. I have also added some new test cases to cover the new dispatcher.

Kindly send in your feedback.

> 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
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871509#action_12871509 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

I was able to add multicast support to the existing UDP sender without much trouble. But in the listener side I'm facing some issues. The existing listener is using Java NIO datagram channels to receive UDP messages (java.nio.channels API). But this API does not support multicasting (see [1][2] for details). It seems this API will not support multicasting until JDK 1.7. 

As a solution I have implemented a new transport listener (MulticastUDPListener),  a new IO dispatcher (MulticastIODispatcher) and a new endpoint (MulticastEndpoint). Do you see any other way of implementing multicast support for the listener? Or at least some mechanism for merging the new IO dispatcher and the endpoint with the existing listener?

[1] - http://forums.sun.com/thread.jspa?threadID=5225740
[2] - http://blogs.sun.com/alanb/entry/multicasting_with_nio

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885431#action_12885431 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

Hi Andreas,

I'm in the process of implementing the blocking and non-blocking implementations of the IODispatcher. When creating a new IODispatcher, how should we decide which implementation to initialize? Is it ok to lookup the existing "isNonBlocking" attribute in the AbstractTransportListener? However I didn't find any code which actually sets this attribute. It seems it is always "false"!

The other option is to introduce a new transport parameter specific to UDP. WDYT?

Thanks,
Hiranya

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871509#action_12871509 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

I was able to add multicast support to the existing UDP sender without much trouble. But in the listener side I'm facing some issues. The existing listener is using Java NIO datagram channels to receive UDP messages (java.nio.channels API). But this API does not support multicasting (see [1][2] for details). It seems this API will not support multicasting until JDK 1.7. 

As a solution I have implemented a new transport listener (MulticastUDPListener),  a new IO dispatcher (MulticastIODispatcher) and a new endpoint (MulticastEndpoint). Do you see any other way of implementing multicast support for the listener? Or at least some mechanism for merging the new IO dispatcher and the endpoint with the existing listener?

[1] - http://forums.sun.com/thread.jspa?threadID=5225740
[2] - http://blogs.sun.com/alanb/entry/multicasting_with_nio

> 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


[jira] Updated: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiranya Jayathilaka updated AXIS2-4724:
---------------------------------------

    Attachment: AXIS2-4724.patch

Here's a patch for the first step of the task. It introduces two IO dispatcher implementations:

NonBlockingIODispatcher (this is the old IODispatcher we had)
BlockingIODispatcher

We can configure the transport listener to load the appropriate dispatcher by setting the transport.udp.blocking parameter. I have also added some new test cases to cover the new dispatcher.

Kindly send in your feedback.

> 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
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885431#action_12885431 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

Hi Andreas,

I'm in the process of implementing the blocking and non-blocking implementations of the IODispatcher. When creating a new IODispatcher, how should we decide which implementation to initialize? Is it ok to lookup the existing "isNonBlocking" attribute in the AbstractTransportListener? However I didn't find any code which actually sets this attribute. It seems it is always "false"!

The other option is to introduce a new transport parameter specific to UDP. WDYT?

Thanks,
Hiranya

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871509#action_12871509 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

I was able to add multicast support to the existing UDP sender without much trouble. But in the listener side I'm facing some issues. The existing listener is using Java NIO datagram channels to receive UDP messages (java.nio.channels API). But this API does not support multicasting (see [1][2] for details). It seems this API will not support multicasting until JDK 1.7. 

As a solution I have implemented a new transport listener (MulticastUDPListener),  a new IO dispatcher (MulticastIODispatcher) and a new endpoint (MulticastEndpoint). Do you see any other way of implementing multicast support for the listener? Or at least some mechanism for merging the new IO dispatcher and the endpoint with the existing listener?

[1] - http://forums.sun.com/thread.jspa?threadID=5225740
[2] - http://blogs.sun.com/alanb/entry/multicasting_with_nio

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@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


[jira] Moved: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen moved AXIS2-4724 to TRANSPORTS-10:
--------------------------------------------------

          Project: Axis2 Transports  (was: Axis2)
              Key: TRANSPORTS-10  (was: AXIS2-4724)
    Fix Version/s: 1.1.0
                       (was: 1.6)
      Component/s: UDP
                       (was: transports)

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@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


[jira] Commented: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908276#action_12908276 ] 

Hiranya Jayathilaka commented on TRANSPORTS-10:
-----------------------------------------------

Hi,

Can I have some feedback on this first patch please, so I can proceed with the rest of the implementation?

Thanks,
Hiranya

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885431#action_12885431 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

Hi Andreas,

I'm in the process of implementing the blocking and non-blocking implementations of the IODispatcher. When creating a new IODispatcher, how should we decide which implementation to initialize? Is it ok to lookup the existing "isNonBlocking" attribute in the AbstractTransportListener? However I didn't find any code which actually sets this attribute. It seems it is always "false"!

The other option is to introduce a new transport parameter specific to UDP. WDYT?

Thanks,
Hiranya

> 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


[jira] Moved: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen moved AXIS2-4724 to TRANSPORTS-10:
--------------------------------------------------

          Project: Axis2 Transports  (was: Axis2)
              Key: TRANSPORTS-10  (was: AXIS2-4724)
    Fix Version/s: 1.1.0
                       (was: 1.6)
      Component/s: UDP
                       (was: transports)

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Moved: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen moved AXIS2-4724 to TRANSPORTS-10:
--------------------------------------------------

          Project: Axis2 Transports  (was: Axis2)
              Key: TRANSPORTS-10  (was: AXIS2-4724)
    Fix Version/s: 1.1.0
                       (was: 1.6)
      Component/s: UDP
                       (was: transports)

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Updated: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiranya Jayathilaka updated AXIS2-4724:
---------------------------------------

    Attachment: AXIS2-4724.patch

Here's a patch for the first step of the task. It introduces two IO dispatcher implementations:

NonBlockingIODispatcher (this is the old IODispatcher we had)
BlockingIODispatcher

We can configure the transport listener to load the appropriate dispatcher by setting the transport.udp.blocking parameter. I have also added some new test cases to cover the new dispatcher.

Kindly send in your feedback.

> 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
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Moved: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen moved AXIS2-4724 to TRANSPORTS-10:
--------------------------------------------------

          Project: Axis2 Transports  (was: Axis2)
              Key: TRANSPORTS-10  (was: AXIS2-4724)
    Fix Version/s: 1.1.0
                       (was: 1.6)
      Component/s: UDP
                       (was: transports)

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@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


[jira] Moved: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen moved AXIS2-4724 to TRANSPORTS-10:
--------------------------------------------------

          Project: Axis2 Transports  (was: Axis2)
              Key: TRANSPORTS-10  (was: AXIS2-4724)
    Fix Version/s: 1.1.0
                       (was: 1.6)
      Component/s: UDP
                       (was: transports)

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908276#action_12908276 ] 

Hiranya Jayathilaka commented on TRANSPORTS-10:
-----------------------------------------------

Hi,

Can I have some feedback on this first patch please, so I can proceed with the rest of the implementation?

Thanks,
Hiranya

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871509#action_12871509 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

I was able to add multicast support to the existing UDP sender without much trouble. But in the listener side I'm facing some issues. The existing listener is using Java NIO datagram channels to receive UDP messages (java.nio.channels API). But this API does not support multicasting (see [1][2] for details). It seems this API will not support multicasting until JDK 1.7. 

As a solution I have implemented a new transport listener (MulticastUDPListener),  a new IO dispatcher (MulticastIODispatcher) and a new endpoint (MulticastEndpoint). Do you see any other way of implementing multicast support for the listener? Or at least some mechanism for merging the new IO dispatcher and the endpoint with the existing listener?

[1] - http://forums.sun.com/thread.jspa?threadID=5225740
[2] - http://blogs.sun.com/alanb/entry/multicasting_with_nio

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885431#action_12885431 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

Hi Andreas,

I'm in the process of implementing the blocking and non-blocking implementations of the IODispatcher. When creating a new IODispatcher, how should we decide which implementation to initialize? Is it ok to lookup the existing "isNonBlocking" attribute in the AbstractTransportListener? However I didn't find any code which actually sets this attribute. It seems it is always "false"!

The other option is to introduce a new transport parameter specific to UDP. WDYT?

Thanks,
Hiranya

> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885431#action_12885431 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

Hi Andreas,

I'm in the process of implementing the blocking and non-blocking implementations of the IODispatcher. When creating a new IODispatcher, how should we decide which implementation to initialize? Is it ok to lookup the existing "isNonBlocking" attribute in the AbstractTransportListener? However I didn't find any code which actually sets this attribute. It seems it is always "false"!

The other option is to introduce a new transport parameter specific to UDP. WDYT?

Thanks,
Hiranya

> 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


[jira] Updated: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiranya Jayathilaka updated AXIS2-4724:
---------------------------------------

    Attachment: AXIS2-4724.patch

Here's a patch for the first step of the task. It introduces two IO dispatcher implementations:

NonBlockingIODispatcher (this is the old IODispatcher we had)
BlockingIODispatcher

We can configure the transport listener to load the appropriate dispatcher by setting the transport.udp.blocking parameter. I have also added some new test cases to cover the new dispatcher.

Kindly send in your feedback.

> 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
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908276#action_12908276 ] 

Hiranya Jayathilaka commented on TRANSPORTS-10:
-----------------------------------------------

Hi,

Can I have some feedback on this first patch please, so I can proceed with the rest of the implementation?

Thanks,
Hiranya

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908276#action_12908276 ] 

Hiranya Jayathilaka commented on TRANSPORTS-10:
-----------------------------------------------

Hi,

Can I have some feedback on this first patch please, so I can proceed with the rest of the implementation?

Thanks,
Hiranya

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871509#action_12871509 ] 

Hiranya Jayathilaka commented on AXIS2-4724:
--------------------------------------------

I was able to add multicast support to the existing UDP sender without much trouble. But in the listener side I'm facing some issues. The existing listener is using Java NIO datagram channels to receive UDP messages (java.nio.channels API). But this API does not support multicasting (see [1][2] for details). It seems this API will not support multicasting until JDK 1.7. 

As a solution I have implemented a new transport listener (MulticastUDPListener),  a new IO dispatcher (MulticastIODispatcher) and a new endpoint (MulticastEndpoint). Do you see any other way of implementing multicast support for the listener? Or at least some mechanism for merging the new IO dispatcher and the endpoint with the existing listener?

[1] - http://forums.sun.com/thread.jspa?threadID=5225740
[2] - http://blogs.sun.com/alanb/entry/multicasting_with_nio

> 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


[jira] Updated: (AXIS2-4724) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hiranya Jayathilaka updated AXIS2-4724:
---------------------------------------

    Attachment: AXIS2-4724.patch

Here's a patch for the first step of the task. It introduces two IO dispatcher implementations:

NonBlockingIODispatcher (this is the old IODispatcher we had)
BlockingIODispatcher

We can configure the transport listener to load the appropriate dispatcher by setting the transport.udp.blocking parameter. I have also added some new test cases to cover the new dispatcher.

Kindly send in your feedback.

> 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
>
>         Attachments: AXIS2-4724.patch
>
>
> 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


[jira] Commented: (TRANSPORTS-10) Add Multicast Capabilities to the UDP Transport

Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TRANSPORTS-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908276#action_12908276 ] 

Hiranya Jayathilaka commented on TRANSPORTS-10:
-----------------------------------------------

Hi,

Can I have some feedback on this first patch please, so I can proceed with the rest of the implementation?

Thanks,
Hiranya

> Add Multicast Capabilities to the UDP Transport
> -----------------------------------------------
>
>                 Key: TRANSPORTS-10
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-10
>             Project: Axis2 Transports
>          Issue Type: Improvement
>          Components: UDP
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.1.0
>
>         Attachments: AXIS2-4724.patch
>
>
> 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