This module provides transparent support for AnyEvent. You don't have to do anything to make Irssi
scripts work with AnyEvent.
Limitations of this backend and implementation details:
• This backend does not support blocking waits.
That means you must set a callback on any condvars, or otherwise make sure to never call "recv" on a
condvar that hasn't been signalled yet.
• Child exits will be handled by AnyEvent.
AnyEvent will take over child handling, as Irssi only polls for children once/second and cannot
handle unspecific child watchers.
This should have no negative effect, as AnyEvent will emit a pidwait signal just like irssi itself
would.
• Artificial timer delays.
Irssi artificially enforces timers to have at least a 10ms delay (by croaking, even).
This means that some applications will be limited to a rate of 100Hz (for example, Coro::AnyEvent
thread scheduling).
• Irssi leaks memory like hell.
Yeah.
Apart from that, documentation is notoriously wrong (e.g. file handles are not supported by "input_add",
contrary to documentation), hooking into irssi has to be done in... weird... ways, but otherwise, Irssi
is surprisingly full-featured (for basically being a hack).