README.md in arvicco-amqp-0.6.8 vs README.md in arvicco-amqp-0.6.9

- old
+ new

@@ -7,31 +7,29 @@ This library was tested primarily with RabbitMQ, although it should be compatible with any server implementing the [AMQP 0-8 spec](http://www.amqp.org/confluence/download/attachments/720900/amqp0-8.pdf). -This fork of AMQP -================= +This fork of AMQP contains following improvements: +-------------------------------------------------- -Contains following improvements: * Support for setting extended headers in MQ::Exchange#publish. Particularly useful for :reply_to for RPC. * Multibyte character support (Ruby 1.9) in MQ::Exchange#publish. - * MQ::Queue only wraps headers with new MQ::Headers if they are not nil. This allows pops to tell more easily when they've requested a message from an empty queue. + * MQ::Exchange#publish raises error if no connection to broker. + * MQ::Queue only wraps headers with new MQ::Headers if they are not nil. This allows pops to tell more easily when they've requested a message from an empty queue. See (https://github.com/tmm1/amqp/issues#issue/22) * Support for receiving Headers with zero-size data packets. Such contents with no body frames are totally legit if indicated header size is zero. +# * Support for AMQP::Protocol::Basic::Return method. See (https://github.com/tmm1/amqp/issues#issue/1). - Getting started =============== -To use examples with RabbitMQ, first [install the broker](http://www.rabbitmq.com/install.html). -If you have Mercurial and Erlang/OTP installed, here is how to do it in 4 lines: +First things first, start with: - hg clone http://hg.rabbitmq.com/rabbitmq-codegen - hg clone http://hg.rabbitmq.com/rabbitmq-server - cd rabbitmq-server - make run + $ gem install arvicco-amqp +To use examples with RabbitMQ, first [install the broker](http://www.rabbitmq.com/install.html). + Then have a look at the various bundled examples: ruby examples/mq/pingpong.rb # 1-1 communication using amq.direct ruby examples/mq/clock.rb # 1-N communication using amq.fanout ruby examples/mq/stocks.rb # 1-subscriber communication using amq.topic @@ -74,16 +72,18 @@ code. Same separate thread technique can be used to make EventMachine play nicely with other libraries that would block current thread (like [File::Tail](http://rubygems.org/gems/file-tail)). -AMQP gem mailing list -============================== +AMQP gem resources +================== * [AMQP gem mailing list](http://groups.google.com/group/ruby-amqp) * [AMQP gem at GitHub](http://github.com/tmm1/amqp) -* [AMQP gem at Gemcutter](http://rubygems.org/gems/amqp) +* [AMQP gem at Rubygems](http://rubygems.org/gems/amqp) +* [This fork at GitHub](http://github.com/arvicco/amqp) +* [This fork as a gem at Rubygems](http://rubygems.org/gems/arvicco-amqp) Running specifications suite ============================ To run the test suite make sure you have [bacon](http://gemcutter.org/gems/bacon) gem installed and run: @@ -91,9 +91,16 @@ rake spec The lib/amqp/spec.rb file is generated automatically based on the [AMQP specification](http://www.amqp.org/confluence/display/AMQP/AMQP+Specification). To generate it: rake codegen + +Writing your own AMQP/evented specs +=================================== + +Writing evented specs properly is a bit difficult due to gory details of event loop management. Libraries such as +[AMQP-Spec](http://github.com/arvicco/amqp-spec) and [Moqueue](https://github.com/danielsdeleo/moqueue) may be helpful. + Credits and more information ============================ (c) 2008—2010 [Aman Gupta](http://github.com/tmm1) (tmm1)