[rabbitmq-discuss] Fwd: Erlang client: Future of lib_amqp

Ben Hood 0x6e6562 at gmail.com
Tue Aug 4 17:30:34 BST 2009


---------- Forwarded message ----------
From: Scott Brooks <scott.brooks at epicadvertising.com>
Date: Tue, Aug 4, 2009 at 3:23 PM
Subject: Re: [rabbitmq-discuss] Erlang client: Future of lib_amqp
To: Ben Hood <0x6e6562 at gmail.com>


On 3-Aug-09, at 4:11 PM, Ben Hood wrote:

> Dear List,
>
> Part of the work required to bring the Erlang client up to a
> releasable state involves reviewing the API design of the lib_amqp
> module.
>
> lib_amqp started life as a convenience wrapper around the underlying
> API in the amqp_connection and amqp_channel modules - the original
> motivation was to reduce the verbosity of the AMQP commands by
> supplying overrides for commonly used default values.
>
> Also, it was also an exercise to see if the wrapper could evolve in
> something useful both for and from the people actually using the API.
>
> Subsequently, we augmented the codegen so that it generated sensible
> defaults from the spec, thus obviating the need to have a wrapper to
> do this.
>
> Apart from questioning it's byzantine name, we've had a look at what
> actual value lib_amqp delivers.
>
> In our opinion, it doesn't actually save you that much typing.
> Furthermore, the structuring of the overrides (especially the publish
> methods) conveys little clarity.
>
> So we've decided that lib_amqp's existence is no longer justified and
> that it will be dropped from the pending release of the Erlang client.
>
> Should it transpire that some convenience be provided, then we'll
> consider adding this at some later stage, but only on an as needs
> basis. Hence it would be up to you, the community, to bring forward
> suggestions, if you would like to see some generalized convenience
> functions.
>
> HTH,
>
> Ben
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

The main feature I saw when using lib_amqp was a constant interface
that divorced the rest of the apps from the rabbitmq server.  That way
I didn't need to include the rabbit hrl's into the rest of my app, I
just used the interface exposed by lib_amqp.

I've attached a rough patch that expands on it a bit to be able to
adjust the defaults when defining a queue, and exchange.







---------------------
Scott Brooks
Web Developer
Epic Advertising - New York, Toronto, San Francisco, London
www.EpicAdvertising.com
60 Columbia Way, Suite 310
Markham, ON L3R 0C9
(905) 946-0300 x2356 - phone
(888) 666-3120 - fax
scott.brooks at epicadvertising.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lib_amqp_options.patch
Type: application/octet-stream
Size: 4772 bytes
Desc: not available
Url : http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20090804/4390d8e0/attachment.obj 


More information about the rabbitmq-discuss mailing list