UDP implementation for Java, C# and C binding
---------------------------------------------

                 Key: ETCH-157
                 URL: https://issues.apache.org/jira/browse/ETCH-157
             Project: Etch
          Issue Type: New Feature
          Components: build, c-binding, compiler, csharp-binding, examples, 
java-binding, webpage
    Affects Versions: 1.2
            Reporter: Armin Müller


Hi,

attached are a series of patches, which add UDP support to Etch for the Java, 
C# and C bindings. It can be used in place of TCP by replacing the url scheme 
with UDP. The UDP transport support has been extended with a configurable 
single session mode, which can be used to run leightweight servers. Please see 
the attached file "Leightweight_Etch_Server.txt" for a more detailed 
description of this mode. It has been written in the confluence wiki style 
syntax and together with the attached images it's suitable for creating a new 
etch documentation page. The single session mode has been extended further with 
a support for one-way method calls from the server to multiple clients. For 
more information, please look at the "Signals" section and the attached patch 
files.

The UDP implementation for the C binding is limited to single session mode. It 
limits the ability of etch servers to call methods of more than one remote 
client. The signal extension can be used to avoid this limitation.

Below a short description of the attached patches is listed. They can be 
applied using the following GIT command: "git am -k --keep-cr 
--whitespace=nowarn <path>/*.patch" or can be applied to a clean SVN checkout:  
"patch -p1 -i <path>/*.patch".

* Add property to skip building of the examples:
0001-build-add-skip.examples-property.patch

* Bump dependency to .NET 4.0 and NUnit 2.5.9. The C# UDP implementation is 
based on features available in .NET 4.0.
0002-binding-csharp-bump-dependencies-to-.NET-4.0-and-NUn.patch

* Add runtime and build support for the Mono framework (Mono >= 2.10.1, C#).
0003-binding-csharp-add-mono-support.patch

* Make UDP and TCP protocols seamlessly interchangable in Etch (UDP support for 
C# and Java).
0004-binding-csharp-add-udp-transport-support.patch
0005-binding-java-add-udp-transport-support.patch

* Add configurable server single session mode. URL parameter: 
UdpConnection.singleSession=true
0006-binding-csharp-add-udp-single-session-support.patch
0007-binding-java-add-udp-single-session-support.patch

* Add inet_who object to track remote etch clients. Required by the C UDP 
implementation.
0008-binding-c-add-inet_who-object.patch

* Add UDP transport support to the C binding (single session only). The 
"UdpConnection.singleSession" url parameter is not supported and ignored. A 
patched version of APR (test with version 1.4.2) is required to send broadcast 
messages under Linux. The patch has been submitted, but is currently not 
integrated (see https://issues.apache.org/bugzilla/show_bug.cgi?id=46389).
0009-binding-c-add-UDP-single-session-transport.patch

* Add signal support for single session mode. See the attached 
"Leightweight_Etch_Server.txt" document.
0010-compiler-add-Signal-annotation-support.patch
0011-binding-csharp-add-Signal-support.patch
0012-binding-java-add-Signal-support.patch
0013-binding-c-extend-send-sendex-for-etch_who.patch
0014-binding-c-add-Signal-support.patch

* Add signal examples for the C#, Java and C binding.
0015-examples-add-signals-example-for-csharp-java-and-c.patch

Authors:
Armin Müller <[email protected]> (itestra GmbH by order of BMW Group Research 
and Technology)
Aleksandar Kanchev <[email protected]> (itestra GmbH by order of BMW Group 
Research and Technology)


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to