On 26 March 2013 13:49, Gordon Sim <[email protected]> wrote:

> On 03/26/2013 12:28 PM, Rob Godfrey wrote:
>
>> Many apologies for my misunderstanding...
>>
>
> No need, I can see where the confusion would arise, hence the
> clarification!
>
>
>  In this case there shouldn't be a big barrier to implementing bounded
>> queue
>> sizes in the same way in the Java Broker.
>>
>
> The question is, if you set some sort of maximum depth on a queue, what do
> you do when you hit it? You can (a) throw some error, (b) drop certain
> messages to stay within the limit, (c) something else.
>
> The 'ring' queue policy is really a policy to evict the oldest messages
> (or the lowest priority messages for a priority queue).
>
>
>  I find the "ring" name somewhat
>> confusing then as the implementation is not actually a ring but simply a
>> bounded buffer where the oldest unconsumed message is discarded when the
>> queue size hits the bound.
>>
>
> Yes, I've made a mess of naming in more than one area I'm afraid!
>
>
>  Is there any special treatment of priority queues (do you discard lower
>> priority messages in preference to higher priority), or is the aging
>> strict?
>>
>
> Priority queues discard the lowest priority messages first (choosing the
> oldest messages within the same priority level for eviction).
>
>
>
OK... one final question... in the C++ broker, for a ring policy do
acquired but not yet acknowledged messages (e.g. messages that are
currently sitting in a client's prefetch buffer) count towards the limit?
If not what happens if such messages are released by the client at a
subsequent point?

Thanks for your help,
Rob


> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> [email protected].**org<[email protected]>
> For additional commands, e-mail: [email protected]
>
>

Reply via email to