This code was merged into Shrapnel (as coro.amqp
) in Mar 2015.
This is an implementation of the AMQP protocol for Shrapnel.
Implements version 0.9.1 of the protocol. The basics are there: channels, queues, exchanges, basic_publish, basic_consume. Tested against RabbitMQ.
Recently added: heartbeats, a consumer class that simplifies the receiving of messages, and classes for rpc servers and clients.
Preliminary documentation is available at http://samrushing.github.com/amqp-shrapnel/
Also, see the files in the test directory for example usage.
Most of the code is auto-generated from the RabbitMQ machine-readable protocol description file. See util/codegen.py.
I plan to rewrite the wire codec in Cython, and then have the code generator also generate Cython. Combined with the high performance of shrapnel itself, this should fairly scream.