AnyEvent Implementation of Danga::Socket

Martin Atkins mart at degeneration.co.uk
Mon Aug 17 23:28:29 UTC 2009


Hi folks,

Last week I hacked up Danga::Socket and re-implemented its event loop in 
terms of AnyEvent. The resulting (experimental) module is here:
     http://search.cpan.org/~mart/Danga-Socket-AnyEvent-0.01_01/

This allows DJabberd to, in theory, run in any event loop supported by 
AnyEvent, and more interestingly allows DJabberd plugins to make use of 
AnyEvent protocol implementations.

I'd be interested to hear feedback from DJabberd users about how well 
this works, any ways that it sucks compared to the original 
Danga::Socket, etc.

You can force DJabberd run in this event loop by running it via:
     perl -MDanga::Socket::AnyEvent djabberd

In the long term I think it'd be good to make AnyEvent the default event 
loop API for DJabberd, since this will avoid the current sub-optimal 
duplication of effort of implementing protocols in both Danga::Socket 
and AnyEvent.




More information about the Djabberd mailing list