Projects / AnyEvent


AnyEvent provides an identical interface to multiple event loops. This allows module authors to utilize an event loop without forcing module users to use the same event loop (as only a single event loop can coexist peacefully at any one time). The interface itself is vaguely similar but not identical to the Event module. On the first call of any method, the module tries to detect the currently loaded event loop by probing for an already-loaded event loop, such as Glib or Event. The first one found is used. If none is found, the module tries to load an event module, and failing that, it will fall back to an optimized pure Perl implementation.

Operating Systems

Recent releases

  •  27 Dec 2010 20:17

    Release Notes: The FAQ was improved. AnyEvent::Strict was made optional. Compatibility with Tk was improved.

    •  07 Jul 2009 00:35

      Release Notes: The major new feature in this release is the new AnyEvent::TLS module, which abstracts TLS/SSL connection parameters in a very simple way. This is hopefully also easier to understand and more rational than usual, while still providing secure defaults and essential integration into AnyEvent::Handle for e.g. peer name verification. On the backend side, there is now a somewhat limited IO::Async backend. Apart from new features, there are a large number of bugfixes to further improve the quality, such as AnyEvent::DNS not handling uppercase CNAME targets correctly.

      •  15 Feb 2009 07:26

        Release Notes: This release adds an introductory tutorial. Also, many workarounds for Windows and Tk bugs have been implemented, to make AnyEvent behavior identical to Unix behavior. IPv6 support is only enabled when the OS actually supports it. BSD platforms implementing the socket structures incorrectly are now worked around. Unix domain sockets are now supported transparently. NAPTR and SRV handling has been improved. Lastly, a great many bugs and performance improvements have been applied, especially to AnyEvent::Handle and TLS support.

        •  25 May 2008 11:56

          Release Notes: This release adds backends for Qt, POE, and Event::Lib. The pure-perl event loop is much faster, and it can now compete with (and surpass) most C-based event libraries. A fully non-blocking DNS stub resolver library was added. A Socket library that can transparently (and without blocking at all) create IPv4 and IPv6 servers and clients, takes advantage of SRV records was added. A file handle wrapper that supports structured data transfers and transparent (and non-blocking) SSL/TLS filtering was added. Lots of general improvements and bugfixes were added. Windows is officially supported.

          •  16 Apr 2008 20:25

            Release Notes: The one-watcher per fd/poll limitation has been lifted by a new Tk backend that works around the many bugs in Tk. Support for the EV event loop (and the Coro::EV module) has been added, and is by far the fastest choice available for AnyEvent now. PID watchers are no longer autoreset and can be used to watch for any child exit. The documentation has been extended and clarified, and all backends now have a (simple) man page.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.