On 03/08/12 13:56, Gordon Sim wrote:
On 08/03/2012 01:55 PM, Gordon Sim wrote:
On 08/03/2012 01:35 PM, Fraser Adams wrote:
subscription = subscriptions.subscribe(*this, queue);
subscription.setFlowControl(FlowControl::messageWindow(100)); // Why
doesn't this work :-( ???
subscription.setAutoAck(10);
When you say it didn't work, what exactly do you mean? That it behaved
like the messaqeCredit() call? or that it didn't restrict the window?
Try setting the option on subscribe, rather than after it. E.g.
subscription = subscriptions.subscribe(*this, queue,
SubscriptionSettings(FlowControl::messageCredit(100)));
Sorry! That should read messageWindow() of course!!
So yeah when I tried
subscription.setFlowControl(FlowControl::messageWindow(100));
It behaved as if I hadn't done anything and my memory consumption grew
out of control.
I've now tried
subscription = subscriptions.subscribe(*this, queue,
SubscriptionSettings(FlowControl::messageWindow(100)));
subscription.setAutoAck(10);
As you suggested here and both qpidd and client-consumer seem happier -
qpidd is on ~320M and client-consumer is on ~220M SHR according to top
and are both fairly stable.
Any idea why calling setFlowControl() on the subscription didn't work?
It seems confusing to have a method call that doesn't appear to work...
On my other questions - so now I've got flow control working can you
suggest how to configure a qpid::client consumer to use unreliable
messaging?
So if I can configure client-consumer with unlimited flow control and
unreliable messaging will that be a fair emulation of a broker bridge
with a slow consumer hanging off it. I might then be able to try it with
my 0.12 broker then a 0.8 broker and see if they behave differently - if
they do then that just *might* be our smoking gun - what do you think
(unless you already know the answer).
Cheers,
Frase
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]