On Fri, 2007-07-27 at 16:43 -0400, Alan Conway wrote:
> Gordon, the broker::queue class is initialized with a "settings"
> FieldTable containing various queue attributes that need to be
> persisted.
> 
> For clustering I also need to transmit this kind of wiring info, and it
> seems like AMQP queue.declare frames are a neat ready-encoded way to do
> it. Is there any reason we couldn't replace the queue settings field
> table with a queue.declare frame? Same applies to broker::Exchange, and
> bindings can be represented by queue.bind frames. That would give us one
> single encoded format of wiring data for persistence, clustering and
> regular AMQP connections, reduce the amount of shuffling between
> equivalent but slightly different data structures. It would also give us
> one point of optimization for when we finally sort out qpid's excessive
> heap use due to the proliferation of std::string in frames.
> 
> Cheers,
> Alan.
> 

Answer to my own question: yes there is a good reason not to do this, it
would tie our broker-internal q/ex/bind representation directly to a
protocol version!

So change of tack: I'll use your nifty MessageStore API for members
joining a cluster - so a wiring brain dump from the cluster is just like
reading wiring from disk. I like it :)

Cheers,
Alan.

Reply via email to