[ 
https://issues.apache.org/jira/browse/ETCH-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040322#comment-13040322
 ] 

Michael Fitzner commented on ETCH-157:
--------------------------------------

Hi Armin,

We added already some patches for the UDP multisession (Java and C# for 
Windows) patches into the trunk. The migration of the C# patch to a Linux mono 
system makes however a lot of trouble at the moment. The main issues are that 
current Linux distributions like ubuntu 10.10, 11.04 have no support for the 
newest mono version with .Net 4.0 at moment. Also the mono page 
http://mono-project.com/Compatibility shows that the entire .Net 4.0 framework 
is not completely finished with the mono 2.8 release. Because of this; the .Net 
etch binding could not be used on a default desktop system without a special 
installation of the mono environment. In terms of these limitations I think we 
should avoid the migrating to .Net 4.0 only because of some classes like 
BlockingCollection. I would suggest just using thread synchronizations like 
“synchronized” statement and WaitHandles for the UDP implementation (e.g. for 
the UdpConnection). If we do so, the etch .Net runtime will stay compatible to 
the .Net framework 2.0.

Thanks
Michael

> 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
>              Labels: patch
>         Attachments: 0001-build-add-skip.examples-property.patch, 
> 0002-binding-csharp-bump-dependencies-to-.NET-4.0-and-NUn.patch, 
> 0003-binding-csharp-add-mono-support.patch, 
> 0004-binding-csharp-add-udp-transport-support.patch, 
> 0005-binding-java-add-udp-transport-support.patch, 
> 0006-binding-csharp-add-udp-single-session-support.patch, 
> 0007-binding-java-add-udp-single-session-support.patch, 
> 0008-binding-c-add-inet_who-object.patch, 
> 0009-binding-c-add-udp-single-session-transport.patch, 
> 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, 
> 0015-examples-add-signals-example-for-csharp-java-and-c.patch, 
> Etch_UDP_Multi_Session.png, Etch_UDP_Single_Session.png, 
> Leightweight_Etch_UDP_Server.txt
>
>
> 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