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:[email protected]] Sent: Friday, March 22, 2013 6:10 PM To: [email protected] Cc: [email protected] 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 <[email protected]<mailto:[email protected]>> 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" <[email protected]<mailto:[email protected]>> 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" <[email protected]<mailto:[email protected]>> 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:[email protected]<mailto:[email protected]>] Sent: Thursday, March 21, 2013 2:12 PM To: [email protected]<mailto:[email protected]> 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" <[email protected]<mailto:[email protected]>> 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:[email protected]<mailto:[email protected]>] Sent: Thursday, March 21, 2013 7:07 AM To: [email protected]<mailto:[email protected]> 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 <[email protected]<mailto:[email protected]>> 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 <[email protected]<mailto:[email protected]>> 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
