[jdev] Gaim -> transport

Stephen Pendleton spendleton at movsoftware.com
Tue Sep 14 12:47:25 CDT 2004

This is very cool. I would be interested in seeing it on a public server
somewhere too. Out of curiosity, does it appear as a single transport in the
roster? If so, how do you register with the transport to provide
registration information for multiple services?

-----Original Message-----
From: jdev-bounces at jabber.org [mailto:jdev-bounces at jabber.org] On Behalf Of
Geoffrey Cross
Sent: Tuesday, September 14, 2004 11:03 AM
To: 'Jabber software development list'
Subject: RE: [jdev] Gaim -> transport

> This is what I brought up as a mere idea on the list only a couple of 
> months ago.  The idea I got was that GAIM might be hard to wrap up 
> into a transport.

Apologies for stealing the idea.  But it's actually stupidly easy.  There
were a few annoying things (like call-backs in the protocol implementations
which pop-up windows etc), but after a few hours of trawling it was trivial.

> It's probably easier to maintain than the pure C thing I proposed, but 
> I wonder.  The C thing wouldn't need the SWIG stuff and could just 
> link directly to the GAIM libs.

This actually links directly to the GAIM libs too.  In fact, I said that you
need to compile GAIM, but that was a lie.  You actually only need the
libraries.  My implementation even loads the plugin libraries at runtime in
exactly the same was as GAIM itself, so if you update those you shouldn't
even need to recompile the perl package (in theory you could even reload the
libraries without restarting executable).  

> > So, I just wondered what the pros thought and whether this is 
> > something which I should bother to package up and submit somewhere 
> > for more
> general
> > use?  If so, I'll bung it on a public jabberd for people to 
> > stress-test
> it
> > for a while.
> Stress testing sounds like a great idea.  I was always wondering how 
> GAIM would perform with 100 users on each protocol instead of 1 or 2.  
> This will be the test, I suppose.

Right, I'll do some final work on it and install it somewhere.  I'm
currently running it with 2 yahoo accounts, 2 MSN accounts and 2 AIM
accounts, and it's nowhere to be seen on the top process list.  I can't be
bothered to register any further accounts :).

> Maybe if the performance is taking a huge hit, there's a way to 
> profile it to figure out where the time goes.  If it does go in the 
> Perl interpretation, then we can think about porting the code.  If 
> not, we can just panic since it
> will be too hard to change GAIM itself into a server. ;-)

Almost all of the time is spent inside C: the perl is pretty minimal, so I
don't think perl will be the limiting factor.  I'd expect it to be more
efficient than PyMSN which is doing most (all?) of the hard work in python.


jdev mailing list
jdev at jabber.org

More information about the JDev mailing list