Changes for version 0.50

  • Added IO::Async::File
  • Added filename mode of IO::Async::FileStream
  • Make Heap dependency optional by reimplementing a tiny but less efficient version of TimeQueue using a plain array
  • No longer need MB-only Build.PL
  • BUGFIXES:
    • Round up select() and poll() timeouts to nearest milisecond, might help correct wait-time vs. gettimeofday() mismatches
    • Fake read- and write-readiness of S_ISREG filehandles in select() on MSWin32
    • select() for exceptional status on MSWin32 to check for connect() failures
    • Don't unit-test that getsockname() works on socketpair()ed sockets

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
watch a filehandle for changes
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