etch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Armin Müller (JIRA) <>
Subject [jira] [Created] (ETCH-157) UDP implementation for Java, C# and C binding
Date Wed, 20 Apr 2011 08:48:05 GMT
UDP implementation for Java, C# and C binding

                 Key: ETCH-157
             Project: Etch
          Issue Type: New Feature
          Components: build, c-binding, compiler, csharp-binding, examples, java-binding,
    Affects Versions: 1.2
            Reporter: Armin Müller


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:

* Bump dependency to .NET 4.0 and NUnit 2.5.9. The C# UDP implementation is based on features
available in .NET 4.0.

* Add runtime and build support for the Mono framework (Mono >= 2.10.1, C#).

* Make UDP and TCP protocols seamlessly interchangable in Etch (UDP support for C# and Java).

* Add configurable server single session mode. URL parameter: UdpConnection.singleSession=true

* Add inet_who object to track remote etch clients. Required by the C UDP implementation.

* 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

* Add signal support for single session mode. See the attached "Leightweight_Etch_Server.txt"

* Add signal examples for the C#, Java and C binding.

Armin Müller <> (itestra GmbH by order of BMW Group Research and
Aleksandar Kanchev <> (itestra GmbH by order of BMW Group Research
and Technology)

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message