On Tue, 2010-11-30 at 21:02 -0500, Hans-Christoph Steiner wrote: > On Sun, 2010-11-28 at 16:17 -0500, Martin Peach wrote: > > On 2010-11-28 15:57, Roman Haefeli wrote: > > > On Sun, 2010-11-28 at 13:38 -0500, Martin Peach wrote: > > >> On 2010-11-28 12:13, Hans-Christoph Steiner wrote: > > >>> > > >>> Hey Martin and all, > > >>> > > >>> Just had a thought: originally everything in the 'mrpeach' folder was > > >>> bundled into a single library, which I think Martin didn't really > > >>> intend. I did it to get Martin's valuable code out there in a kind of > > >>> beta way. Now I think its quite clear that the 'net' and 'osc' sections > > >>> in 'mrpeach' are really the canonical way of doing networking and OSC > > >>> with Pd > > > > > > I'd hesitate to call using mrpeach/net the 'canonical' way. Last time I > > > checked, there were still issues with many classes, in particular the > > > blocking issue of [tcpsend]/[tcpclient]/[tcpserver] discussed in a > > > plethora of mails. That's also the reason why IOhannes rewrote those and > > > released them as the iemnet library. The classes from iemnet are > > > high-performance and don't suffer from any blocking issue. > > > > That's another reason they should be in net instead of mrpeach: it seems > > that having my name on the folder inhibits others from improving the > > objects, so we end up with multiple parallel incompatible objects, in > > this case with the same names. > > > > (And when was the last time you checked?) > > > > Martin > > I call mrpeach/net canonical not because I believe is it perfect and > bugfree, but rather because it is the established, proven way of doing > more elaborate networking.
Probably it can be considered established because it has been there for quite some time, nevertheless I've found it hard to use for what I would call 'elaborate' networking right from the beginning. I don't know in what scenario you think it might have an established use. Actually, many protocols that I can think of would be fun to use with [tcpserver] are packet oriented (as opposed to stream oriented). And since TCP is a stream oriented protocol, there is no way [tcpserver] can be directly used as is. Rather one has to make sure while using a packet oriented protocol to correctly create protocol compliant packets from what is received from [tcpserver] from several sockets. It might well be that parts of different packets are received interleaved. Furthermore, the creation iemnet's [tcpserver] was actually driven by issues [mrpeach/tcpserver] is still suffering from (Check my other mail). I hope I could challenge what you call 'established', 'proven' and 'elaborate'. > Its the best option out there. iemnet is > just a fork of that with some specific changes. iemnet is very new and > not tested as much, Believe me, it's very well tested. > so it seems a really bad idea to start basing things > off of it, like how to package things in Debian, etc. Who knows, > perhaps mrpeach/net and iemnet will merge again. Actually, I'd hope so. From what I can tell, they can be exchanged transparently with the following exceptions: * The output of the fifth outlet in [tcpserver] is different in iemnet. Since the fifth outlet has been added quite recently in mrpeach and also has changed since, I don't think that would be much of an issue. * iemnet's object classes don't support sending from file. This is actually a feature not related to networking. Also it can be simply added by patching by using mrpeach's [binfile]. * iemnet's object classes add the port number to the address outlet (which doesn't break mrpeach) * some performance related settings/methods were removed from iemnet's [tcpserver], simply because they are not necessary (no buffer overflows nor blocking of Pd ever happened with iemnet's [tcpserver] in my tests). On a side-note: the netpd-server-tcpserver.pd patch mentioned in my earlier post runs with both, mrpeach's and iemnet's [tcpserver]. No other changes are necessary when switching. Roman _______________________________________________ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev