Changes for version 0.047 - 2014-02-26
- cleanup (Stanislaw Pusep)
- No checks for IPv6 localhost for now :( (Stanislaw Pusep)
- Updated Dist::Zilla (Stanislaw Pusep)
- saner YADA defaults (Stanislaw Pusep)
- YADA optimization for plain URL queues (Stanislaw Pusep)
- remove ram comment about Parallel::Downloader (Christian Walde)
- Fixed yet another test failing behind the proxy (Stanislaw Pusep)
- reverting #871313f1ed (Stanislaw Pusep)
- AnyEvent timers are now weak_ref (Stanislaw Pusep)
- Perl v5.17.10 compatibility (Stanislaw Pusep)
- "AnyOf" usage requires MooX::Types::MooseLike >= 0.18 (Stanislaw Pusep)
- fixed timers for AnyEvent::Impl::Perl (Stanislaw Pusep)
- typo fix (Stanislaw Pusep)
- BROKEN COMPATIBILITY: added the "WARNING: GONE MOO!" POD section *everywhere* (Stanislaw Pusep)
- removing further Mo[ou]se references from documentation (Stanislaw Pusep)
- scope fix (Stanislaw Pusep)
- dependency updates (Stanislaw Pusep)
- --MooX::late (Stanislaw Pusep)
- Zilled the Dist (Stanislaw Pusep)
- more Any::Moose removal (Stanislaw Pusep)
- Fixed FIXMEs (Stanislaw Pusep)
- Moo-sification: take two (Stanislaw Pusep)
- removed dead reload code (Stanislaw Pusep)
- t/70-timeout.t seems OK now (Stanislaw Pusep)
- "use base" was broken (Stanislaw Pusep)
- recommend EV 4.11 as a prerequisite (Stanislaw Pusep)
- eg/yada-crawler.pl cleanup (Stanislaw Pusep)
- AE::N::C::Q::E header attribute readonly (Stanislaw Pusep)
- cleaned dependencies (Stanislaw Pusep)
- YADA cleanup (Stanislaw Pusep)
- minor ::Multi accessor cleanup (Stanislaw Pusep)
- http_message handling revamped (Stanislaw Pusep)
- added eg/yada-crawler.pl (not very clear example) (Stanislaw Pusep)
- benchmark update (Stanislaw Pusep)
- further benchmark normalization (Stanislaw Pusep)
- disable compression in Mojo::UA benchmark (Stanislaw Pusep)
- Mojo::UserAgent benchmark fixed (mea culpa) (Stanislaw Pusep)
- t/73-cycle.t is an author test (Stanislaw Pusep)
- ooops, Mojo can't start/stop several times anymore? (Stanislaw Pusep)
- Mojo::UserAgent benchmark overhaul (Stanislaw Pusep)
- setting CURLOPT_POSTFIELDS to a HashRef converts to JSON automatically (Stanislaw Pusep)
- removed useless eval check from AE::N::C::Const (Stanislaw Pusep)
- useless meta->name removed (Stanislaw Pusep)
- full perlcritic harsh compliance (Stanislaw Pusep)
- calming down the perlcritic (Stanislaw Pusep)
- Dist::Zilla bump (Stanislaw Pusep)
- better traps for t/70-timeout.t (Stanislaw Pusep)
- fragment supression tested (Stanislaw Pusep)
- disabling Net::Curl::* prototypes (Stanislaw Pusep)
- messing around (Stanislaw Pusep)
- fixed encoding issues revealed by upgrading to Digest::SHA v5.74 (Stanislaw Pusep)
- postponing $cv->send to properly destroy ::Multi instance (Stanislaw Pusep)
- followlocation-caused header propagation fix (Stanislaw Pusep)
- curly brackets cleanup (Stanislaw Pusep)
- initialization exception testing (Stanislaw Pusep)
- proper usage of BUILDARGS/FOREIGNBUILDARGS (Stanislaw Pusep)
- fixing cyclic references (Stanislaw Pusep)
- benchmark results update (Stanislaw Pusep)
- less verbose recursion test (Stanislaw Pusep)
- benchmark suite fixes (Stanislaw Pusep)
- Test::Memory::Cycle test implemented (Stanislaw Pusep)
- clearer benchmark reasoning (Stanislaw Pusep)
- major breakthrough in Net::Curl::* "unreferenced scalar" fixing! (Stanislaw Pusep)
- attempt to fight 1-millisecond timeout (again) (Stanislaw Pusep)
- Net::Curl::Share instance destruction code is FUBAR; storing it inside a Mo[ou]se attribute was a really bad idea :~( (Stanislaw Pusep)
- weak_ref unnecessary, after all (Stanislaw Pusep)
- removed unnecessary & broken weak_ref declarations (Stanislaw Pusep)
- replaced time() from Time::HiRes by AE::tie (Stanislaw Pusep)
- a bit less deterministic t/61-nest.t (Stanislaw Pusep)
- better compliance with libcurl docs (Stanislaw Pusep)
- a bit cleaner Net::Curl::Share handling (Stanislaw Pusep)
- very bad fix for Net::Curl::Share instance "weakness" (Stanislaw Pusep)
- getting rid of "Attempt to free unreferenced scalar: SV 0xdeadbeef during global destruction." (Stanislaw Pusep)
- version bump (Stanislaw Pusep)
- fix release: dependencies were stripped accidentally (Stanislaw Pusep)
- split Test::HTTP::AnyEvent::Server into a separate module (Stanislaw Pusep)
- finally Test::HTTP::AnyEvent::Server can detach & run as separate process (Stanislaw Pusep)
- YADA DWIM: documented & tested (Stanislaw Pusep)
- updated test for nasty empty HTTP::Message condition (Stanislaw Pusep)
- minor edge case condition adjustments (Stanislaw Pusep)
- better Moose encapsulation (Stanislaw Pusep)
- better type constraints (Stanislaw Pusep)
- added common_opts to AE::N::C::Q and fixed CURLOPT_(SHARE|TIMEOUT) propagation for YADA (Stanislaw Pusep)
- test fixes (no need to rely on cpan.org) (Stanislaw Pusep)
- eg/simple.pl updated to show the new sugar syntax (Stanislaw Pusep)
- do *NOT* return HTTP::Response if scheme is not HTTP/HTTPS (Stanislaw Pusep)
- attempt to fix FreeBSD test errors (Stanislaw Pusep)
- YADA append()/prepend() are now chainable (updated example in SYNOPSIS) (Stanislaw Pusep)
- experimental YADA DWIM extensions for append()/prepend() (Stanislaw Pusep)
- added AE::N::C::Q::Easy->opts attribute to quickly setopt() stuff (Stanislaw Pusep)
- minor compatibility fixes (Stanislaw Pusep)
- more verbose environment info (Stanislaw Pusep)
- benchmark results updated (Stanislaw Pusep)
- update process name in eg/benchmark.pl (Stanislaw Pusep)
- refactored eg/benchmark.pl (Stanislaw Pusep)
- test cloning (Stanislaw Pusep)
- AE::N::C::Q::Easy->clone($param) fixed (Stanislaw Pusep)
- benchmark updated (Stanislaw Pusep)
- eg/queue: filtered URLs which lead to redirectors (Stanislaw Pusep)
- fix: no socket_action(CURL_SOCKET_TIMEOUT) if no handles are open (Stanislaw Pusep)
- reimplemented eg/benchmark/mojo.pl to work the non-blocking way (Stanislaw Pusep)
- documentation update (Stanislaw Pusep)
- implemented AnyEvent::HTTP::Tiny client to test Test::HTTP::AnyEvent::Server (Stanislaw Pusep)
- use Any::Moose for Test::HTTP::AnyEvent::Server (Stanislaw Pusep)
- gave up, Test::HTTP::Server is more reliable for blocking tests (Stanislaw Pusep)
- enhance Test::HTTP::AnyEvent::Server coverage (Stanislaw Pusep)
- more failing tests (Stanislaw Pusep)
- more AE::N::C::Easy cleanup (Stanislaw Pusep)
- removed Test::HTTP::Server dependency (now for sure) (Stanislaw Pusep)
- test incorrect usage of AE::N::C::Q::Easy setopt()/getinfo() (Stanislaw Pusep)
- migrate N::C::Multi & N::C::Easy object capability checks into test (Stanislaw Pusep)
- test boundaries fine-tuned (Stanislaw Pusep)
- removed unmet conditions (Stanislaw Pusep)
- test watchdog & timeout (Stanislaw Pusep)
- clean up duplicate URL condition (Stanislaw Pusep)
- removed Test::HTTP::Server dependency (Stanislaw Pusep)
- implemented Test::HTTP::AnyEvent::Server, as fork() breaks Net::Curl :( (Stanislaw Pusep)
- use AE::postpone instead of "instant timer" hack (Stanislaw Pusep)
- updated t/42-loopback-retry.t to use internal POST retry mechanism (Stanislaw Pusep)
- attempt double GET at t/30-queued-single.t (to verify queue deduplication) (Stanislaw Pusep)
- stripped dead code from AE::N::C::Q::Stats (Stanislaw Pusep)
- fixed AE::N::C::Const cache typo (Stanislaw Pusep)
- split queue accessors POD (Stanislaw Pusep)
- correctly reenqueue POST requests (Stanislaw Pusep)
- Mojo::UserAgent benchmark (Stanislaw Pusep)
- benchmark fixed (Stanislaw Pusep)
- removed Memoize dependency (Stanislaw Pusep)
- squash setopt calls during init into one (Stanislaw Pusep)
- Trait::Array is too slow to handle huge queues (Stanislaw Pusep)
- automatically POST as JSON (Stanislaw Pusep)
- raise CURLMOPT_MAXCONNECTS (Stanislaw Pusep)
- example fixes (Stanislaw Pusep)
- eg/CrawlApache.pm using Web::Scraper (Stanislaw Pusep)
- removed common::sense (Stanislaw Pusep)
- using ChangelogFromGit::CPAN::Changes for changelog (Stanislaw Pusep)
- Changes (Stanislaw Pusep)
- documentation updated with alternatives; prereq common::sense 3.5 (Stanislaw Pusep)
- Changelog (Stanislaw Pusep)
- fix for perl-5.15.9 (Stanislaw Pusep)
- minor fixes (Stanislaw Pusep)
- ++yada options (Stanislaw Pusep)
- yada: stupid typo fix (Stanislaw Pusep)
- benchmark is flawed as YADA also can't tell initialization from fetching apart :( (Stanislaw Pusep)
- yada: filename from content-disposition/location tags (Stanislaw Pusep)
- better socket watcher recycling (Stanislaw Pusep)
- benchmark now separates initialization from the download; using remote server (Stanislaw Pusep)
- yada: get_filename() (Stanislaw Pusep)
- yada timeout parameter (Stanislaw Pusep)
- --MooseX::NonMoose from dist.ini (Stanislaw Pusep)
- verbose yada help (Stanislaw Pusep)
- ++yada CLI tool (Stanislaw Pusep)
- all tests under Any::Moose (Stanislaw Pusep)
- meta->class_precedence_list => meta->name (Stanislaw Pusep)
- ++MooseX::NonMoose to dist.ini (Stanislaw Pusep)
- eg/benchmark.pl: unsure about the way to use AnyEvent::Curl::Multi; copied from Template::Parser::RemoteInclude (Stanislaw Pusep)
- README version bump (Stanislaw Pusep)
- ++CURL_LOCK_DATA_SSL_SESSION (Stanislaw Pusep)
- MouseX::NativeTraits dependency (Stanislaw Pusep)
- Replaced Moose by Any::Moose (Stanislaw Pusep)
- fixes (Stanislaw Pusep)
- benchmark fix (Stanislaw Pusep)
- cleanup test (Stanislaw Pusep)
- uninitialization fixes (Stanislaw Pusep)
- Mouse prereqs (Stanislaw Pusep)
- BUILDARGS hack (Stanislaw Pusep)
- Moose => Any::Moose (Stanislaw Pusep)
- AENCQ object now reusable (Stanislaw Pusep)
- fixed kwalitee test due to new Parse::RecDescent release (Stanislaw Pusep)
- "Attempt to free unreferenced scalar: SV 0xdeadbeef." warning was not Test::HTTP::Server's fault in 01-net-curl-compatibility.t, at all. (Stanislaw Pusep)
- watchdog executes $self->multi->perform (Stanislaw Pusep)
- watchdog (Stanislaw Pusep)
- YADA alias (Stanislaw Pusep)
- default timeout/retry update (Stanislaw Pusep)
- Fixed 'Attempt to free unreferenced scalar: SV 0xdeadbeef during global destruction.' in t/01-net-curl-compatibility.t (Stanislaw Pusep)
- max connections editable on-fly (Stanislaw Pusep)
- retry CodeRef fix (Stanislaw Pusep)
- eg/ fix (Stanislaw Pusep)
- re-enqueued requests are forced to bypass de-duplication filter (Stanislaw Pusep)
- allow_dups configurable (Stanislaw Pusep)
- URI coerce typo fix (Stanislaw Pusep)
- better cloning (Stanislaw Pusep)
- update README.pod (Stanislaw Pusep)
- reorganize tests (Stanislaw Pusep)
- optionally use_stats (Stanislaw Pusep)
- Const POD (Stanislaw Pusep)
- Net::Curl::* constants accessor/cache (Stanislaw Pusep)
- ++curl benchmark (Stanislaw Pusep)
- added nice comparison chart (Stanislaw Pusep)
- callback tests (Stanislaw Pusep)
- Easy: constants cache; on_init/on_finish callbacks (Stanislaw Pusep)
- Stats: precompute constants (Stanislaw Pusep)
- benchmark example (Stanislaw Pusep)
- new release (Stanislaw Pusep)
- recursively update queue test (Stanislaw Pusep)
- single request in queue test (Stanislaw Pusep)
- fixed HTTP::Response encapsulation warning when response is empty (Stanislaw Pusep)
- stupid termination condition bug (Stanislaw Pusep)
- no CURLINFO_PRIMARY_PORT in older libcurl (Stanislaw Pusep)
- now passes tests on perl-5.10.1 (Stanislaw Pusep)
- getinfo()/setopt() improvements (Stanislaw Pusep)
- documentation (Stanislaw Pusep)
- HTTP::Response encapsulation (Stanislaw Pusep)
- Easy getinfo() wrapper (Stanislaw Pusep)
- Easy setopt() wrapper (Stanislaw Pusep)
- coerce URLs (Stanislaw Pusep)
- POD (Stanislaw Pusep)
- end condition fix (used to cause segfault) (Stanislaw Pusep)
- remove cv->begin/cv->end crap (Stanislaw Pusep)
- weak_ref hell!!! (Stanislaw Pusep)
- Queued test (Stanislaw Pusep)
- Easy test & POD (Stanislaw Pusep)
- POD[2] (Stanislaw Pusep)
- Stats test (Stanislaw Pusep)
- Net::Curl compatibility test (Stanislaw Pusep)
- minor updates (Stanislaw Pusep)
- AnyEvent::Net::Curl::Queued::Multi max attribute (Stanislaw Pusep)
- leak fix (Stanislaw Pusep)
- Dist::Zilla[4] (Stanislaw Pusep)
- Dist::Zilla[3] (Stanislaw Pusep)
- Dist::Zilla[2] (Stanislaw Pusep)
- Dist::Zilla (Stanislaw Pusep)
- CodeRef hack (Stanislaw Pusep)
- output (Stanislaw Pusep)
- stats (Stanislaw Pusep)
- retries (Stanislaw Pusep)
- split (Stanislaw Pusep)
- (Stanislaw Pusep)
- fixed taskset(1) link (Stanislaw Pusep)
- eg/yada-crawler.pl: simplified parser initialization (Stanislaw Pusep)
Documentation
Yet Another Download Accelerator CLI wrapper
Modules
Access Net::Curl::* constants by name
Moo wrapper for queued downloads via Net::Curl & AnyEvent
Net::Curl::Easy wrapped by Moo
Net::Curl::Multi wrapped by Moo
Connection statistics for AnyEvent::Net::Curl::Queued::Easy
"Yet Another Download Accelerator": alias for AnyEvent::Net::Curl::Queued
"Yet Another Download Accelerator Worker": alias for AnyEvent::Net::Curl::Queued::Easy
Examples
- eg/CrawlApache.pm
- eg/Gauge/AnyEvent_Curl_Multi.pm
- eg/Gauge/Furl.pm
- eg/Gauge/HTTP_Lite.pm
- eg/Gauge/HTTP_Tiny.pm
- eg/Gauge/LWP_Curl.pm
- eg/Gauge/LWP_Protocol_Net_Curl.pm
- eg/Gauge/LWP_UserAgent.pm
- eg/Gauge/Mojo_UserAgent.pm
- eg/Gauge/Parallel_Downloader.pm
- eg/Gauge/Role.pm
- eg/Gauge/WWW_Mechanize.pm
- eg/Gauge/YADA.pm
- eg/Gauge/curl.pm
- eg/Gauge/lftp.pm
- eg/Gauge/wget.pm
- eg/benchmark.pl
- eg/crawl-apache.pl
- eg/fetch-urls.pl
- eg/queue
- eg/simple.pl
- eg/yada-crawler.pl