[rabbitmq-discuss] Erlang client: Future of lib_amqp

Ben Hood 0x6e6562 at gmail.com
Mon Aug 3 21:11:33 BST 2009


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




More information about the rabbitmq-discuss mailing list