```{index} single: AnyEvent::Impl::Irssi ``` # AnyEvent::Impl::Irssi AnyEvent adaptor for Irssi ## SYNOPSIS ```perl use AnyEvent; ## this module gets loaded automatically when running under irssi ``` ## DESCRIPTION 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](../../Coro/AnyEvent.md) 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). ## SEE ALSO [AnyEvent](../../AnyEvent.md), [Irssi](https://metacpan.org/pod/Irssi). ## AUTHOR ```perl Marc Lehmann http://anyevent.schmorp.de ```