IO-Async

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

         * Allow Notifier subclasses to last-ditch handle unrecognised
           ->configure() params
         * Added $notifier->adopt_future
         * Added $notifier->invoke_error and 'on_error' event
         * Ensure that TimeQueue inserts in FIFO order for equal timestamps
         * Kill remaining docs to long-dead IO::Async::Sequencer

        [BUGFIXES]
         * Cygwin needs the SELECT_CONNECT_EVEC OS hint as well
         * Probe for a broken port to perform listen() tests on by using
           ReuseAddr => 1 so it matches what IO::Async will do (RT84051)

0.62    2014/03/27 23:15:25
        [CHANGES]
         * Added IO::Async::Future->{done,fail}_later
         * Allow overriding of debug log file or file descriptor
         * Avoid Future's and_then/or_else methods
         * Allow Channel->recv in async mode to return a Future (RT91180)
         * Ensure that Function ->call Futures cancel correctly
         * Added $routine->kill
         * Kill the 'getaddrinfo' => 'getaddrinfo_array' legacy redirection
         * Allow Loop's resolver to be changed to a different object

        [BUGFIXES]
         * Avoid relying on strong forward references in Future, by creating
           intentional cycles on pending Futures. Workaround for bugfix in
           upcoming Future release.

0.61    2013/10/15 01:10:51
        [CHANGES]
         * Some OSes lack signals; forbid the ->*_signal methods, and use
           waitpid() polling for child processes if so
         * Rearrangement of $loop->listen and IO::Async::Listener logic to
           allow Listener subclasses to use listen extensions (e.g. SSL)
         * Allow ->listen to construct new Stream or Socket handles
         * Updated documentation and tests to emphasise futures with resolver
           and ->listen
         * Support spawning threads and watching for exit
         * Support IO::Async::Routine based on threads
         * Various MSWin32 improvements and fixes - it now passes tests \o/
         * Declare that MSWin32 does not support POSIX-like fork(); skip all
           unit tests and functionallity based on it if so

         Note: These changes break IO::Async::SSL versions 0.12 or older.

        [BUGFIXES]
         * Ensure that $stream->write( CODE, on_write/write_len ) works
           correctly

        With many thanks to Mithaldu for the use of his Windows smoker for
        development and testing of the MSWin32 fixes

0.60    2013/09/19 14:26:22
        [CHANGES]
         * Updated for Future 0.16 - no longer needs 'return' argument for
           Future::Utils functions
         * $stream->connect() ought to default socktype => "stream"

        [BUGFIXES]
         * Fix unit tests to better handle INADDR_LOOPBACK not being 127.0.0.1
         * Skip-guard ->socket("inet6") unit tests on machines unable to
           socket(AF_INET6)
         * Remmeber to ->accept connections to testing socket in
           t/63handle-connect.t

0.59    CHANGES:
         * Allow IO::Async::Stream to define custom reader/writer methods
         * Support writeready-for-read and readready-for-write in Stream
         * Allow Stream->write() on_write and write_len args
         * Neatened and documented Future ->fail arguments and conventions
         * Added Stream on_writeable_{start,stop} events
         * Added Handle->socket, ->bind and ->connect methods
         * Revamp of Loop->connect logic; allow passing through an
           IO::Async::Handle instance

        BUGFIXES:
         * Ensure that stream read EOF state is visible during queued on_read
           events that caused it
         * Fix 'return ... or die' precendence bug in Resolver (RT87051)
         * Need to poll() for POLLPRI on MSWin32 and Cygwin

0.58    CHANGES:
         * Added Stream read watermarks

        BUGFIXES:
         * Fix weakself event handlers' use of "shift or return"

0.57    CHANGES:
         * Allow Stream->write from a Future, CODE that returns Future, Future
           that returns CODE, etc...
         * Added Future-returning Stream->read_* methods and ->push_on_read
         * Return a flush-complete notification Future from Stream->write
         * Allow Timer::Periodic to stop itself from its own on_tick event
         * Wrap transport on_{read,write}_eof from Protocol::Stream

0.56    CHANGES:
         * Added $loop->delay_future and $loop->timeout_future
         * Added $future->loop accessor
         * Use a faster splice()-based mechanism for the ARRAY-based TimeQueue
         * Updated for Future::Utils 0.12 'repeat' function

        BUGFIXES:
         * Ensure that Process from => "" works
         * If select() returns -1 ignore the bit vectors
         * pipe() on Windows doesn't play with select(); emulate ->pipepair
           using ->socketpair
         * Correct use of S_ISREG and stat()

0.55    CHANGES:
         * Try to ensure IO::Async::OS->socket returns an IO::Socket::IP
           instance for PF_INET or PF_INET6 if it is available
         * Don't bother testing subsecond loop_once behaviour because most
           loops can't actually do it
         * Use Future::Utils instead of CPS, removing a dependency
         * Removed IO::Async::Sequencer
         * Print a deprecation warning on old loop classes with old timer
           support

0.54    CHANGES:
         * Use Future instead of CPS::Future
         * Created IO::Async::Future subclass
         * Initial support for Futures on Loops
         * Rewrite lots of internals to use Futures instead of MergePoints or
           other logic
         * Renamed all "task" to "future" in APIs
         * Allow packing of inet/inet6 address structures to omit the IP or
           port and presume passive or port 0
         * Removed $notifier->get_loop synonym
         * Make IO::Async::MergePoint throw a deprecation warning

0.53    CHANGES:
         * Added IO_ASYNC_WATCHDOG debugging support

        BUGFIXES:
         * Remember to return a task from Function->call even if it's queued
           (RT79248)

0.52    CHANGES:
         * Initial attempt at Tasks using CPS::Future
         * Minor fixes to timer LoopTests to prevent spurious failures of
           sub-second timing
         * Declare dependence on perl 5.10 now we're using 5.10 features
         * Removed long-since deprecated IO::Async::DetachedCode

0.51    CHANGES:
         * Split much code out to new IO::Async::OS heirarchy
         * Drop dead dependency on Test::Warn
         * Smaller simpler signal handling, avoid POSIX::SigSet
         * Expose getfamilybyname and getsocktypebyname as OS methods

        BUGFIXES:
         * Many small MSWin32 fixes that might help pass some tests. Likely
           still incomplete though

0.50    CHANGES:
         * 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

0.49    CHANGES:
         * Fix watch_time => enqueue_timer conversions; fix unit tests and
           Timer implementations

0.48    CHANGES:
         * 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

Changes  view on Meta::CPAN

         * Expanded documentation of timers
        
        BUGFIXES:
         * Explicitly 'use IO::Handle;'

0.40    ADDITIONS:
         * Added IO::Async::FileStream - RT66520
         * Added IO::Async::Stream 'close_on_read_eof' parameter
         * Added IO::Async::Listener 'on_accept_failure' event

        CHANGES:
         * Allow Loop->listen to be extended via extensions, similar to
           ->connect
         * Autoflush streams used in Function::Worker objects by default
         * Default Resolver to idle_timeout=30, min_workers=0

        BUGFIXES:
         * Don't convert method names to CODErefs during _capture_weakself as
           it breaks dynamic dispatch and code reload - RT65785
         * Only calculate Timer::Periodic's next tick time if it actually has
           a Loop
         * Put primary GID first in a 'setgroups' list, otherwise some BSDs
           get upset - RT65127
         * Load getaddrinfo() from Socket or Socket::GetAddrInfo in
           t/50resolver.t
         * Remove the anonymous Listener from the Loop if Loop->listen fails
           - RT66168
         * Supply LocalPort => 0 to IO::Socket::INET constructor explicitly
           during testing

0.39    CHANGES:
         * Added IO::Async::Notifier 'notifier_name' parameter, which may be
           used in debugging code in a later version
         * Added IO::Async::Stream on_write_eof event
         * Complain about unrecognised keys in IO::Async::Loop->watch_io and
           IO::Async::Stream->write

        BUGFIXES:
         * Don't claim on_hangup supported except on those places we know it
           will be (Linux, FreeBSD >= 8.0)
         * Fixed race condition in t/41detached-code.t
         * Fixed race condition in IO::Async::Function

0.38    ADDITIONS:
         * IO::Async::Function
         * IO::Async::Loop->notifiers accessor

        CHANGES:
         * Symbolic flags in IO::Async::Resolver as convenience for commonly
           used flag constants
         * Distribution now uses Test::Fatal rather than Test::Exception
         * Resolver is now a subclass of Function, not DetachedCode

        BUGFIXES:
         * More robust detection of Socket vs Socket::GetAddrInfo
         * Portability fix for ChildManager's FD_CLOEXEC flag

0.37    ADDITIONS:
         * Handle->close_read, ->close_write
         * Stream on_read_eof event
         * extract_addrinfo conveniences for 'inet', 'inet6' and 'unix'

        CHANGES:
         * Allow Process filehandles to set up plain pipes without read/write
           behaviour on the associated Stream
         * Renamed Loop->unpack_addrinfo to ->extract_addrinfo
         * Prepare for Socket::getaddrinfo() in core; prefer it to
           Socket::GetAddrInfo::getaddrinfo()

0.36    ADDITIONS:
         * IO::Async::Process

        CHANGES:
         * Allow prequeuing of ->write data in Stream
         * Check that signal handling remains properly deferred in LoopTests
         * Miscellaneous documentation and examples updates

        BUGFIXES:
         * RT 64558 - getaddrinfo() returns duplicate addresses for localhost
         * Don't rely on having NI_NUMERICSERV

0.35    ADDITIONS:
         * Loop->unpack_addrinfo

        CHANGES:
         * Recognise 'inet' and 'unix' as socket families
         * Recognise 'stream', 'dgram' and 'raw' as socket types
         * Recognise nicer HASH-based addrinfo layout in ->connect and
           ->listen
         * Listener now has on_stream / on_socket as full events, not just
           CODEref parameters
         * Make Resolver->getaddrinfo try synchronously if given numeric names
         * Make Resolver->getnameinfo run synchronously if given
           NI_NUMERICHOST|NI_NUMERICSERV flags
         * Try to combine small data buffers from Stream->write calls if
           possible

        BUGFIXES:
         * Linefeed in die case of getaddrinfo_hash to preserve exeception
           string
         * Deconfigure Protocol->transport after it is closed

0.34    ADDITIONS:
         * New Notifier methods ->_replace_weakself, ->maybe_invoke_event,
           ->maybe_make_event_cb
         * New Protocol method ->connect
         * New subclass Protocol::LineStream
         * Direct Resolver->getaddrinfo and ->getnameinfo methods

        CHANGES:
         * New Protocol::Stream->new( handle => $io ) parameters, which
           creates an IO::Async::Stream to use as a transport
         * Renamed Loop->detach_child to Loop->fork
         * Pass errno values into ->connect on_connect_error and
           ->listen on_listen_error
         * Support timeouts on Resolver operations
         * Allow direct access to Resolver via Loop->resolver

        BUGFIXES:
         * Make sure Protocol::Stream handles writersub and on_flush callback



( run in 0.704 second using v1.01-cache-2.11-cpan-39bf76dae61 )