gregory james marsh wrote:


Hi Carl,

A question from our group about the following client params you mentioned
in your email (included below):

  --max-frame-size N (65535)        the maximum frame size to request.
  --bounds-multiplier N (2)         bound size of write queue (as a
multiple of
                                    the max frame size).
  --tcp-nodelay                     Turn on tcp-nodelay

Could you further explain/clarify the behavior of "--bounds-multiplier".

There is a queue of outgoing frames that are being written to the wire by a separate thread from the application thread that executes commands and publishes messages.

This queue can grow quite large and the bounds-multiplier is a somewhat clunky means of controlling that. It is specified as multiples of the buffer size which is controlled by the max frame size property. So a bounds multiplier of 2 means that only two buffers worth will be queued for writing before the application thread blocks.

We read over the code comments in

trunk/qpid/cpp/src/qpid/client/ConnectionSettings.h

What exactly is the "write queue?"  Based on the code comments, does
bounds allow outgoing frames to be larger than maxFrameSize for the
connection?

No, frames can never exceed the max-frame-size (though a message can be broken into more than one frame, so the frame size doesn't prevent larger messages being sent).

Reply via email to