etch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Veith <>
Subject RE: Etch on .Net 3.5 & CF 6.5
Date Mon, 25 Mar 2013 07:51:42 GMT
Hi Yann,
thanks for the patch!

Unfortunately, there are no unit tests for the UdpConnection.cs class yet.
However, they should be very similar to the TestTcpConnection.cs located in runtime/src/test/csharp/Etch/Util.
I have created an issue for that (ETCH-266). In a perfect world we would first write the test
and then apply your patch and check if it still works :-)

As Scott already mentioned, the best way to test it now is to do an integration test by using
an exiting C# example and changing the transport mode from TCP to UDP.
Maybe the chat example would be a good choice as there can be added multiple connections at
the same time.

Could you please test this?

If this works, then IMHO we can merge your patch.


From: Scott Comer []
Sent: Friday, March 22, 2013 6:10 PM
Subject: Re: Etch on .Net 3.5 & CF 6.5

Nothing that i know of other than to write a test using that transport.

Sent from my iPhone

On Mar 22, 2013, at 10:40 AM, Yann Nicolas <<>>


I create the issue ETCH-265 for this .Net 2.0 compatibility.

I attached also a Git patch. CSharp binding now compiles with .Net 2.0.
Existing unit tests run fine but I think no one is covering preciselly UdpTransport which
is the part that used .Net 4 classes.

Do you have a good way to test the changes?


Yann Nicolas
El 21/03/2013 09:17, "Yann Nicolas" <<>>

Yes, having it compatible with .Net 2 should be nice. Many devices still using Compact Framework.

Let me work on that.


Yann Nicolad
El 21/03/2013 09:12, "Martin Veith" <<>>
Hi Yann,

a patch for that would be great!
Becoming .Net 2.0 compatible again would be a good improvement as from my prospective .Net
4.0 is not yet available on some platforms or e.g. in Mono.


From: Yann Nicolas [<>]
Sent: Thursday, March 21, 2013 2:12 PM
Subject: RE: Etch on .Net 3.5 & CF 6.5


As I see, blocking queues are used only in few lines of code. I think with a generic Queue
and few locks should be ok.
I can do a patch if you want.


El 21/03/2013 03:23, "Martin Veith" <<>>
I can remember myself that for the implementation of the UDP binding some classes of the .NET
4.0 (e.g. Blocking Collections)  have been used.
Therefore we have a strong dependency to .NET 4.0 at the moment.

In my opinion we could implement the bevahiour of these classes from the .NET 4.0 framework
by our own in order to downgrade to .NET 2.0 again.

From: Yann Nicolas [<>]
Sent: Thursday, March 21, 2013 7:07 AM
Subject: Re: Etch on .Net 3.5 & CF 6.5


Yes you are right, it shouldn't be hard, however but I am not convinced that is a good idea
to make my own separate branch with few changes because I will be required to merge new commits
to it and it will not be as well tested than main branch...


2013/3/20 scott comer <<>>
it shouldn't then be hard to eliminate those uses, since there are so few, do you feel up
to it?

On 3/20/2013 4:57 PM, Yann Nicolas wrote:

Thanks for your reply. The Visual Studio solution is configured for .Net 2.0 and have build
errors because some classes used exist only from .Net 4.0 (eg. System.Collections.Concurrent
in UdpConnection.cs or System.Linq in UdpListener). I don't know, perhaps the solution is
configured for .Net 2.0 but the ant script can be using 4.0.



2013/3/20 scott comer <<>>
etch was developed on .net 2. i'm not aware of any changes to the c# binding. i've not done
any recent testing with c# binding other than to build it about 6 months ago. i would suggest
checking out the distribution and building it yourself. perhaps the 1.1 distribution was build
using .net 4.

On 3/20/2013 9:55 AM, Yann Nicolas wrote:


I have been investigating which is the best way to do bidirectional RPC between mobile devices
(eg. Tablet, PDA, phones,...) and a server. I need realtime push from server to devices and
it seems that Etch is the good framework.
I have to work with different OS on devices like Android and Windows Mobile (Compact Framework
6.5), on server side I have a C# server running on .Net 3.5.
I read in Etch documentation that C# binding is supposed to run on any C# project with .Net
>= 2.0, however when I included it in a .Net 3.5 project it shows errors. Checking the
sources, I see that some classes that exist only from .Net 4 (Like concurrent collections).
Am I missing something? Or something is wrong in the doc?

Thanks in advance for your help.


Yann Nicolas

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message