Changes for version 0.48

  • Support Channel long-running on_recv handler
  • Support Channel directly between two Routines, in sync. mode at both ends
  • Added Loop->{watch,unwatch}_time API
  • Added Function->restart and max_worker_calls parameter
  • Support other reschedule policies for Timer::Periodic to allow tick skipping, or drift
  • BUGFIXES:
    • Fix example in Routine SYNOPSIS (thanks apeiron)
    • Connector should check definedness of local_{host,port} rather than existence

Modules

Asynchronous event-driven programming
pass values into or out from an IO::Async::Routine
facilitates the execution of child processes
perform non-blocking socket connections
execute code asynchronously in child processes
read the tail of a file
call a function asynchronously
event callbacks for a non-blocking file descriptor
listen on network sockets for incoming connections
core loop of the IO::Async framework
use IO::Async with poll(2)
use IO::Async with select(2)
acceptance testing for IO::Async::Loop subclasses
resynchronise diverged control flow
base class for IO::Async event objects
event callback on exit of a child process
start and manage a child process
base class for transport-based protocols
stream-based protocols using lines of text
base class for stream-based protocols
performing name resolutions asynchronously
execute code in an independent sub-process
handle a serial pipeline of requests / responses (EXPERIMENTAL)
event callback on receipt of a POSIX signal
event callbacks and send buffering for a socket filehandle
event callbacks and write bufering for a stream filehandle
utility functions for use in test scripts
base class for Notifiers that use timed delays
event callback at a fixed future time
event callback after a fixed delay
event callback at regular intervals