On Thu, Oct 26, 2000 at 11:26:25PM +0200, Andreas J. Koenig wrote:
> >>>>> On Tue, 17 Oct 2000 09:07:50 -0500, Dave Plonka <[EMAIL PROTECTED]> said:
>
> > Kurt, thanks for the feedback.
> > Considering Net::Patricia vs. Tree::Patricia...
>
> > On Mon, Oct 16, 2000 at 05:43:08PM -0400, Kurt D. Starsinic wrote:
> >> On Mon, Oct 16, 2000 at 12:19:42PM -0500, Dave Plonka wrote:
> > <snip>
> >> > I think it belongs in the Net namespace because it requires that the
> >> > search keys must consist of IP addresses and netmasks, and the
> >> > underlying C code on which it is based requires that as well. I.e.
> >> > this module is not a general Trie implementation like Text::Trie or
> >> > Tree::Trie.
> >>
> >> It seems to me that it would be more appropriate as, e.g.,
> >> Tree::Patricia. It doesn't implement network protocols, rather it
> >> manipulates data structures. The fact that the elements of the
> >> data structure _can_ obviously be interpreted as CIDR addresses and
> >> netmasks doesn't prevent one from coming up with more dastardly uses
> >> for the module.
>
> > I agree with the assessment that Patricia is a data structure not
> > network protocol. However, there are precedents such as Net::Netmask
> > and Net::IPv4Addr of which one could say the same.
> > Do those modules not belong in Net? [rhetorical]
>
> Bad precedent is ubiquitous on CPAN:-/
Sad but true.
> > I'm not against the Patricia module being in Tree::Patricia, but there
> > are other complications... The C code on which the module is based
> > looks like networking code in that it currently uses inet_addr(3) and
> > therefore requires "<arpa/inet.h>" and "-lnsl". I could follow
> > Socket.pm's lead and reimplement a private/static inet_addr within to
> > eliminate that requirement, but avoiding the system-provided library
> > routines in these way could make it harder to maintain, esp. when I
> > pass-thru IPv6 addr support to the perl API.
>
> Strong arguments.
I'd also remind folks that names should be based on what functionality
a module offers, not how it's implemented.
> > At the moment, I'm still leaning toward Net::Patricia because of the
> > underlying networking requirements.
>
> We are all starting to react allergically against Net:: because it
> becomes a bit basket, it's crowded there. But I see you arguments in
> favor and I see you have uploaded version 1.009. I tend to accept
> Net:: based on your arguments.
Joining the ubiquitous bad precedents ;-)
Tim.
p.s. I don't feel very strongly about this, just wanted to remind folks
about the 'ignore implementation issues' line of reasoning for the future.