[JDEV] Component Requesting All Packets

Trejkaz Xaoza trejkaz at xaoza.net
Fri Feb 6 12:10:24 CST 2004

Hash: SHA1

On Sat, 7 Feb 2004 02:49, Peter Millard wrote:
> Trejkaz Xaoza wrote:
> > On Fri, 6 Feb 2004 03:23, Peter Millard wrote:
> >> Folks, realize that component protocols are SERVER IMPLEMENTATION
> >> SPECIFIC. So the library should NOT be named Net::XMPP, it should be
> >> named something like Net::jabberd2. Also components built using this
> >> protocol will not work other servers (ie, jabberd 1.4).
> >
> > That's true, but what's the point in putting an entire login procedure
> > into a package called Net::Jabberd2, when you will be putting exactly the
> > same code in for an XMPP client library? (i.e., they will both be using
> > SASL.)
> You don't understand... We're talking about components, not clients. I
> agree that ALL XMPP clients will use SASL, but we have no idea what various
> servers will use to connect up their components. It just so happens, that
> j2 uses SASL. Other servers may, or may not use it.. They could use
> something completely different, or they could just continue to use the
> protocol layed out in: http://www.jabber.org/jeps/jep-0114.html

No, I understand perfectly.  What you are proposing is that someone should 
duplicate _all_ the code for the SASL login procedure between Net::XMPP and 
Net::Jabberd2, even though they are exactly the same except for the port 
which they happened to connect on... all because some other server we don't 
care about in this scenario might happen to use a different login procedure.

What is so wrong about having the Net::Jabberd2 module call the SASL code from 
a Net::XMPP module?  Isn't code reuse one of the _goals_ of programming?


- -- 
'Every sufficiently advanced technology is indistinguishable from magic' - 
Arthur C Clarke
'Every sufficiently advanced magic is indistinguishable from technology' - Tom 

      Email: Trejkaz Xaoza <trejkaz at xaoza.net>
   Web site: http://xaoza.net/trejkaz/
  Jabber ID: trejkaz at jabber.xaoza.net
Version: GnuPG v1.2.3 (GNU/Linux)


More information about the JDev mailing list