Net-Async-AMQP
view release on metacpan or search on metacpan
* RPC server/client implementation, should be compatible with
http://www.rabbitmq.com/tutorials/tutorial-six-python.html
* Connection blocked support
* Custom headers and delivery mode
* Correlation and reply_to fields are available in ->publish and also passed to
the consumer via the {properties} information
1.000 2015-09-14 02:21:19+01:00 Europe/London
API changes: The close events now use 'code' and 'reason' more consistently - previously the
code had reply_code / message in some places. This may affect any "close" event
handlers in existing code (for channels or connections).
Features:
* Queue declare now resolves with number of messages and consumers as well
as the queue instance.
* Futures are now labelled for easier tracing
* amqp_frame_info() provides more information on known frame types
* Net::Async::AMQP::Queue now has a ->consumer wrapper, which is slightly more
userfriendly than the ->listen method.
Bugs fixed:
* Various connection handling issues when client/server close a channel or the
entire connection.
Also updated the list of alternative AMQP implementations.
This version has only been tested up to 80k channels across 80 connections, with a pair
of consumer and publisher for each of those channels - so although it should be possible
to run with more active channels, given sufficient memory/CPU, that's as far as this version
has been tested.
0.031 2015-08-20 02:50:43+01:00 Europe/London
Features:
* Support more options when publishing messages (including message
expiration, thanks to Naveen Nathan for the patch)
* ->unbind_exchange method
Bugs fixed:
* Don't send a CloseOk frame if we were the ones closing the channel.
* More cleanup in Net::Async::ConnectionManager when channels and/or connections
are closed.
0.030 2015-05-01 19:29:16+01:00 Europe/London
Features:
* Support more options when publishing messages (including message
expiration, thanks to Naveen Nathan for the patch)
0.029 2015-04-20 01:11:17+01:00 Europe/London
Features:
* Helper functions in Net::Async::AMQP::Utils for converting status codes
to message/description
Bugs fixed:
* On connection close, do a better job of cleaning up, and include a test
to verify that we can dispose the Net::Async::AMQP instance after loop removal
(thanks to snappy for reporting + providing a test case for tracing).
0.028 2015-04-15 23:31:34+01:00 Europe/London
Features:
* Supports messages which have been split into multiple frames - currently
there's no streaming support, but this should now handle arbitrarily-large
messages as long as you have the memory available.
Bugs fixed:
* Better channel close detection and handling - we now also record when
a ::Channel instance has been closed, so we know to report an error if any
further requests are attempted.
Internal API changes:
* ->send_frame on Net::Async::AMQP and Net::Async::AMQP::Channel now return
a Future instead of $self, since parts of the code need to know when we've
attempted to send the frame.
0.027 2015-03-22 15:11:03+00:00 Europe/London
No new features.
Test fixes:
* fixed typo in t/conman-memory.t
0.026 2015-03-17 16:57:07+00:00 Europe/London
No new features.
Bugs fixed:
* Connections are removed from the full list when closed by the server
Test fixes:
* Test::MemoryGrowth is currently Linux-only, so make it optional (RT102681)
0.025 2015-02-04 17:05:39+00:00 Europe/London
No new features.
Bugs fixed:
* ConnectionManager updated to use List::UtilsBy::extract_by, not
Scalar::Utils::extract_by, since the former has the advantage of actually
being a real thing.
0.024 2015-02-04 14:26:38+00:00 Europe/London
No new features.
Bugs fixed:
* In some cases would raise an exception due to attempting to unsubscribe
from an event that had already been unsubscribed (close, for example).
0.023 2015-01-23 12:34:48+00:00 Europe/London
New features:
* Proper timeout/retry support in ::ConnectionManager
0.022 2015-01-20 11:00:03+00:00 Europe/London
New features:
* SSL support, pass ssl => 1 in $amqp->connect
0.021 2015-01-06 12:18:20+00:00 Europe/London
API CHANGES: The undocumented Queue methods now all take a channel
parameter, so that we don't retain a channel on the queue instance.
This is unlikely to change again before 1.0 so the methods are now
documented. Queues are no longer notifier subclasses.
Bugs fixed:
* Memory leak due to ::Queue instances being held by the loop, and
channels being retained by the queue instances (caught by
Test::MemoryGrowth, analysed by Devel::MAT, a handy pair of tools
( run in 1.537 second using v1.01-cache-2.11-cpan-39bf76dae61 )