8
0
forked from pool/perl-IO-Async
Files
perl-IO-Async/perl-IO-Async.spec

118 lines
4.7 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-IO-Async
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name IO-Async
Name: perl-IO-Async
Version: 0.804.0
Release: 0
# 0.804 -> normalize -> 0.804.0
%define cpan_version 0.804
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Asynchronous event-driven programming
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
2025-08-12 18:14:47 +02:00
Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Future) >= 0.440
BuildRequires: perl(Future::Utils) >= 0.180
BuildRequires: perl(Module::Build) >= 0.4004
BuildRequires: perl(Socket) >= 2.007
BuildRequires: perl(Struct::Dumb)
BuildRequires: perl(Test2::V0) >= 0.000149
BuildRequires: perl(Test::Future::IO::Impl)
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
BuildRequires: perl(Test::Metrics::Any)
Requires: perl(Future) >= 0.440
Requires: perl(Future::Utils) >= 0.180
Requires: perl(Socket) >= 2.007
Requires: perl(Struct::Dumb)
Provides: perl(Future::IO::Impl::IOAsync) = %{version}
Provides: perl(IO::Async) = %{version}
Provides: perl(IO::Async::Channel) = %{version}
Provides: perl(IO::Async::Debug) = %{version}
Provides: perl(IO::Async::File) = %{version}
Provides: perl(IO::Async::FileStream) = %{version}
Provides: perl(IO::Async::Function) = %{version}
Provides: perl(IO::Async::Future) = %{version}
Provides: perl(IO::Async::Handle) = %{version}
Provides: perl(IO::Async::Internals::ChildManager) = %{version}
Provides: perl(IO::Async::Internals::FunctionWorker) = %{version}
Provides: perl(IO::Async::Listener) = %{version}
Provides: perl(IO::Async::Loop) = %{version}
Provides: perl(IO::Async::Loop::Poll) = %{version}
Provides: perl(IO::Async::Loop::Select) = %{version}
Provides: perl(IO::Async::LoopTests) = %{version}
Provides: perl(IO::Async::Metrics) = %{version}
Provides: perl(IO::Async::Notifier) = %{version}
Provides: perl(IO::Async::OS) = %{version}
Provides: perl(IO::Async::OS::MSWin32) = %{version}
Provides: perl(IO::Async::OS::cygwin) = %{version}
Provides: perl(IO::Async::OS::linux) = %{version}
Provides: perl(IO::Async::PID) = %{version}
Provides: perl(IO::Async::Process) = %{version}
Provides: perl(IO::Async::Protocol) = %{version}
Provides: perl(IO::Async::Protocol::LineStream) = %{version}
Provides: perl(IO::Async::Protocol::Stream) = %{version}
Provides: perl(IO::Async::Resolver) = %{version}
Provides: perl(IO::Async::Routine) = %{version}
Provides: perl(IO::Async::Signal) = %{version}
Provides: perl(IO::Async::Socket) = %{version}
Provides: perl(IO::Async::Stream) = %{version}
Provides: perl(IO::Async::Test) = %{version}
Provides: perl(IO::Async::Timer) = %{version}
Provides: perl(IO::Async::Timer::Absolute) = %{version}
Provides: perl(IO::Async::Timer::Countdown) = %{version}
Provides: perl(IO::Async::Timer::Periodic) = %{version}
%undefine __perllib_provides
Recommends: perl(IO::Socket::IP)
%{perl_requires}
# MANUAL BEGIN
BuildRequires: netcfg
BuildRequires: perl(Test2::V0)
# MANUAL END
%description
This collection of modules allows programs to be written that perform
asynchronous filehandle IO operations. A typical program using them would
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
consist of a single subclass of IO::Async::Loop to act as a container of
other objects, which perform the actual IO work required by the program. As
well as IO handles, the loop also supports timers and signal handlers, and
includes more higher-level functionality built on top of these basic parts.
%prep
%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install --destdir=%{buildroot} --create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
Accepting request 842189 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-IO-Async/Changes 0.77 2020-05-13 [CHANGES] * Updated for Metrics::Any 0.05 * Report an info-type gauge metric to track loop types * Loop processing time should be a timer metric, not a distribution * Don't bother reporting zero-byte stream read/write metrics [BUGFIXES] * Skip metrics-related unit tests if metrics aren't active, even though we depend on Test::Metrics::Any * Account for MSWin32's EWOULDBLOCK in t/70future-io.t 0.76 2020-05-05 [CHANGES] * Initial attempt at providing metrics via Metrics::Any * Renamed ->(un)watch_child API to ->(un)watch_process * Renamed 'child' LoopTests suite to 'process' 0.75 2019-11-26 00:06:59 [CHANGES] * Remember to keep O_NONBLOCK off on IO::Async::Channel sync mode filehandles * Added IO::Async::Process->finish_future * Added IO::Async::Routine->result_future * Future-returning version of IO::Async::Function->stop * Don't load IO::Socket or Sereal modules unless required [BUGFIXES] * Refresh the sigpipe in ->post_fork if required (RT128588) * Fix some spelling mistakes (RT130087) * Skip the async getprotobyname() test if it doesn't work synchronously (RT131029) 0.74 2019-06-27 18:44:38 [CHANGES] * Warn about IO::Async::Stream using autoflush on a blocking handle * Implement queuing priorities for IO::Async::Function calls (RT129918) * Send a terminating signal to a ->run_process process on cancellation (RT129225) * Optionally make ->run_process future fail when process exits non-zero (RT129225) * Implement the Future::IO->syswrite API [BUGFIXES] * Skip t/70future-io.t unless Future::IO is available (RT129807) * Remember to set O_NONBLOCK on IO::Async::Channel async mode filehandles (RT129879) * Handle Windows 7 which returns ENETDOWN to failed AF_UNIX connect() (RT129806) 0.73 2019-06-12 16:49:28 [CHANGES] * Provide an IO::Async implementation of Future::IO * Added $loop->run_process (RT129225) * Clear $ONE_TRUE_LOOP in $loop->fork so that child processes can do IO::Async::Loop->new successfully * Added $notifier->adopted_futures accessor (RT127818) * Various docs fixes 0.72 2018-04-02 19:34:27 [CHANGES] * Expanded docs on Stream's on_read sub return values * Overridable timeout for IO::Async::Test::wait_for * Hide IO::Async::ChildManager as an internal implementation detail; move the docs into main IO::Async::Loop * Added $loop->open_process; suggest using that instead of ->open_child * Begin implementation of $loop->is_running method (part of RT123780) [BUGFIXES] * Make IO::Async::Future->await wait until it's ready * Fix calculation of periodic timer in 'skip' mode (RT124414) * Perform synchronous getaddrinfo shortcut even for service-less lookups * Make sure that errors from underlying read/write functions are debug-logged by IO::Async::Stream 0.71 2016/12/22 15:05:50 [CHANGES] * Added 'prefork' option to IO::Async::Channel (RT115920) - thanks GMARLER * Prefer Sereal Channel encoding if that module is available * Ensure that IaFunction still prints debug information on futures * Miscellaneous spelling fixes in docs - thanks genio [BUGFIXES] * 'use lib ".";' for perl 5.24 * Make t/50resolver.t less sensitive to EAI_NONAME vs EAI_NODATA because some resolvers lie (RT113429) * Fix error message linefeed tests in t/50resolver.t (RT119369) * Ensure that SIGPIPE is ignored if it's still at its default value 0.70 2015/12/15 18:17:43 [CHANGES] * Support perl 5.8.x (tested on 5.8.9, presumed working as far as 5.8.4) 0.69 2015/11/09 19:56:58 [CHANGES] * Use Future->catch instead of poorly-implemented string-eq test * Use L<...> instead of C<...> in docs where appropriate (RT107417) (thanks Arthur Axel 'fREW' Schmidt) [BUGFIXES] * Don't silently swallow Listener acceptor failures (RT107806) * Don't silently swallow other ->connect errors * Remember to ->unwatch_io before setting IaHandle's handle to undef 0.68 2015/07/31 20:07:48 [CHANGES] * Allow IO::Async::Function body to 'die' with an ARRAYref to set more details on failed Future * Have IO::Async::Resolver calls indicate the failed resolver name * Have IO::Async::Resolver's getaddrinfo and getnameinfo resolvers give error numbers in failure result * Added 'init_code' parameter to IO::Async::Function (RT104127) * Added IO::Async::Channel->encode, ->send_encoded; deprecate the old ->send_frozen method * Added IO::Async::Test::wait_for_future [BUGFIXES] * Clean up after 'on_hangup' loop tests (RT106061) * Make ->stop + ->start on IO::Async::Timer::Periodic not forget the first_interval (RT100927) 0.67 2015/06/01 15:06:13 [CHANGES] * Add a ->post_fork method to IO::Async::Loop in case subclasses should take specific action (RT104130) * Remove IO::Async::MergePoint entirely * Add debug_printf() calls to IO::Async::Process * Various documentation additions [BUGFIXES] * Remember to actually delete unused filehandles from the pollmask (RT103922) - updated to 0.66 see /usr/share/doc/packages/perl-IO-Async/Changes 0.66 2015/04/17 20:36:39 [CHANGES] * Created IO::Async::Debug * Ignore SIGPIPE by default (RT92024) * IaSocket->bind now returns a Future * Added IaSocket->bind resolver support and neatened up UDP examples in synopsis/documentation [BUGFIXES] * Correct call to unpack() in IaStream example (RT103143) * Don't silently eat accept() failures in IaListener (RT102677) * Remember to add the new resolver instance to $loop in ->set_resolver (RT103446) * Correct implementation of ->unwatch_io on IaLoop::Poll to prevent 100% CPU spin (RT103445) * Ensure that an exception thrown by Timer::Periodic's on_tick doesn't prevent rescheduling - updated to 0.65 see /usr/share/doc/packages/perl-IO-Async/Changes 0.65 2015/02/15 14:28:02 [CHANGES] * Optionally allow IO::Async::Channel to use 'Sereal' serialisation * Added documentation about the 'env' Child Manager key and copying %ENV * Take OS "preferred loop subclass" hints from IO::Async::OS directly [BUGFIXES] * Nested $stream->read_* inside read_* cause double-completion of Future (RT101774) * Implement IO::Async::Loop::Poll directly on _poll() syscall wrapper, thus avoiding many bugs in IO::Poll (RT93141) * Ensure that IO::Async::Loop::Select can cope with callbacks that remove other IO handle watches (RT101919) * Silently upgrade watched IO handles to O_NONBLOCK (RT102044) * Complain about unrecognised keys to ->extract_addrinfo (RT101453) 0.64 2014/10/17 17:51:07 [CHANGES] * Make specific mention of 'TCP' and 'UDP' around socket examples where appropriate * Allow construction of an IO::Async::Handle using fileno integers directly * Provide a better search for 'all open filehandles' via IO::Async::OS on Linux (RT97942) * Allow IO::Async::Listener to have handle_constructor or handle_class as a subclass method (RT97208) * Clarify documentation on how to use IO::Async::Process's on_exception event (RT98929) [BUGFIXES] * Ensure that Stream's write Futures are also informed of write errors (RT97433) * Remember to ->remove_child the individual workers of an IO::Async::Function (RT99552) * Fix IO::Async::Function synopsis example (RT97713) 0.63 2014/07/11 15:09:08 [CHANGES] * 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. - initial package 0.61 * created by cpanspec 1.78.07 OBS-URL: https://build.opensuse.org/request/show/842189 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-IO-Async?expand=0&rev=6
2020-10-20 12:06:43 +00:00
%doc Changes examples README
%license LICENSE
%changelog