Whooops, spoke too soon - it looks like this is explicitly supported in 0.14.0. 

Sorry for the noise. 
Jeff
________________________________________
From: Jeff Donner [[email protected]]
Sent: Tuesday, September 06, 2016 4:13 PM
To: [email protected]
Subject: Any way to do consumer flow control with Proton C++?

Hi,

  Is there any way to do consumer-side flow control from Proton C++? I'm 
currently using 0.12.1, but I don't see anything different from what I did 
below even in 0.14.0.

I added the following lines to the example simple_recv.cpp 's on_message() 
handler,

          std::cout << "received; credits now: "
                  << receiver.credit() << std::endl;

        // Drop it down to -1. 0 doesn't stop anything (-1 also doesn't stop 
anything)
        while (receiver.credit() > -1) {
          receiver.flow(-1);
          std::cout << "decremented: credits now: "
                    << receiver.credit() << std::endl;
        }

and get:

...
received; credits now: 9
decremented: credits now: 8
decremented: credits now: 7
decremented: credits now: 6
decremented: credits now: 5
decremented: credits now: 4
decremented: credits now: 3
decremented: credits now: 2
decremented: credits now: 1
decremented: credits now: 0
decremented: credits now: -1
{"sequence"=100}
...

which isn't surprising actually since the receiver starts life at 0 credits and 
receives messages. Anyway, this method doesn't work, is there another way, or 
is the whole concept of link credit meant to be reserved for the implementation?

Thanks,
Jeff

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to