You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@etch.apache.org by Martin Veith <Ma...@bmw-carit.de> on 2013/03/25 08:51:42 UTC

RE: Etch on .Net 3.5 & CF 6.5

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.

Thanks,
Martin


From: Scott Comer [mailto:wert1y@mac.com]
Sent: Friday, March 22, 2013 6:10 PM
To: user@etch.apache.org
Cc: user@etch.apache.org
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 <ya...@gmail.com>> wrote:

Hi,

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?

Regards,

Yann Nicolas
El 21/03/2013 09:17, "Yann Nicolas" <ya...@gmail.com>> escribió:

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

Let me work on that.

Regards,

Yann Nicolad
El 21/03/2013 09:12, "Martin Veith" <Ma...@bmw-carit.de>> escribió:
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.

Thanks,
Martin


From: Yann Nicolas [mailto:yannart@gmail.com<ma...@gmail.com>]
Sent: Thursday, March 21, 2013 2:12 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: RE: Etch on .Net 3.5 & CF 6.5


Hi,

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.

Regards,

Yann
El 21/03/2013 03:23, "Martin Veith" <Ma...@bmw-carit.de>> escribió:
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 [mailto:yannart@gmail.com<ma...@gmail.com>]
Sent: Thursday, March 21, 2013 7:07 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: Re: Etch on .Net 3.5 & CF 6.5

Hi,

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...

Regards,

2013/3/20 scott comer <we...@mac.com>>
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:
Hello,

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.

Regards,

Yann



2013/3/20 scott comer <we...@mac.com>>
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:

Hi,

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.

Regards,

Yann Nicolas