_brian_d_foy <[EMAIL PROTECTED]> writes:

> In article <[EMAIL PROTECTED]>, Olivier Poitrey 
><[EMAIL PROTECTED]> wrote:
>
>> My class implements 3 protocols : SMTP, ESMTP and LMTP. ESMTP inherit
>> from SMTP and LMTP from ESMTP (as describe in RFCs). So isn't it a
>> problem to use 3 namespaces (Net::SMTP::Server, Net::ESMTP::Server and
>> Net::LMTP::Server) ? Another problem is that Net::SMTP::Server already
>> exists.
>
> do you need to rewrite Net::SMTP::Server or can you work with the
> existing ones?
>

Net::Server::Mail::* are already written, and as I said in my first
post, the current Net::SMTP::Server wasn't designed to be
extendable. Actually - in my module distribution - the SMTP class is
the base class for all others, so I can't request only ESMTP and LMTP
ones.

> if you submit namespace requests for the other ones i'll approve those
> unless anyone else has something to say about it.  that gets you
> started at least.

Let me describe the actual Net::Server::Mail architecture:

Net::Server::Mail is the base class, it implements all common methods
that are not part of the protocol.

Net::Server::Mail::SMTP inherits from Net::Server::Mail and implements
all required commands described in RFC 821.

Net::Server::Mail::ESMTP inherits from Net::Server::Mail::SMTP and adds
the extension mechanism introduced in RFC 2821. Included extensions
are disposed under the Net::Server::Mail::ESMTP namespace (eg:
Net::Server::Mail::ESMTP::PIPELINING).

Finally Net::Server::Mail::LMTP inherits from Net::Server::Mail::ESMTP
and implements little modifications needed by RFC 2033.

Now you should understand why I need a separated namespace.

best regards.

PS: you can find the module to the CPAN or on its CVS (cvsroot:
[EMAIL PROTECTED]:/devel module: Net-Server-Mail).

-- 
______________________________________________________________________
 O  l  i  v  i  e  r    P  o  i  t  r  e  y

Reply via email to