Andrew Newton wrote: > > On Oct 22, 2009, at 3:05 PM, Marc Petit-Huguenin wrote: > >>> ... >>> With regard to complexity, that is most likely in the eye of the >>> beholder. I would think this is more complex than other uses of >>> S-NAPTR. I don't know how one goes about judging these sort of things. >>> Perhaps it would be helpful to look at an S-NAPTR implementation. >>> VeriSign's SVN repository still hosts pysnaptr, which you can find here: >>> http://svn.verisignlabs.com/main/snaptr/pysnaptr/tags/RELEASE_0_1/pysnaptr >>> >>> >> ... >> For comparison my own reference implementation in Java of the TURN URI >> parser >> and resolver is 364 lines long. This is without the RFC 3958 >> implementation, >> 255 lines long, and the RFC 2782 implementation which is 141 lines >> long. The URL >> to this reference implementation is in Annex A.10 in the I-D. > > Marc, > > I suppose if I had been a little more caffeinated this morning, I would > have also provided links to VeriSign's Java and Perl implementations of > 3958: > > http://svn.verisignlabs.com/main/snaptr/net_dns_snaptr/trunk/lib/Net/DNS/SNAPTR.pm > > http://svn.verisignlabs.com/main/snaptr/jsnaptr/trunk/src/com/verisignlabs/jsnatpr/JSNaptr.java > > > Lines of code is certainly one measure of complexity, but that can be > heavily influenced by the programming style and language used. Again, > this is all subjective, but in my opinion it is complex. I think most > of that is due to the nature of NAPTR and DNS itself and perhaps cannot > be avoided. I hope this is helpful. Well, I do not think that the full complexity of NAPTR and SRV should be counted when evaluating the implementation complexity of this I-D. A TURN URI is used by a TURN client, which is probably used in an ICE implementation which is probably used in a SIP UAC. A SIP UAC is probably implementing RFC 3263, which means that NAPTR and SRV are already implemented. So the real complexity is the complexity of the TURN URI parser and the resolver as defined in the I-D and the complexity of S-NAPTR (i.e. without NAPTR as defined in RFC 3403). That's around 370 lines of code in my reference implementation. -- Marc Petit-Huguenin Personal email: marc@xxxxxxxxxxxxxxxxxx Professional email: petithug@xxxxxxx Blog: http://blog.marc.petit-huguenin.org _______________________________________________ Ietf@xxxxxxxx https://www.ietf.org/mailman/listinfo/ietf