On 24/09/2020 7:48 am, umohank wrote:
Enabled only trace+ log.
In a second "ConnectionContext::get(), current=0000000000000000" call
triggered 2500+ times
Find the attached trace  myclient.out
<http://qpid.2158936.n2.nabble.com/file/t396516/myclient.out>

Code snippet which I am trying( taken from QPID sample server.cpp )
Connection connection(url, connectionOptions);
        try {
                connection.open();
                Session session = connection.createSession();
                Receiver receiver = session.createReceiver("service_queue; 
{create:
always}");

                while (true) {
                        Message request = receiver.fetch();
                        const Address& address = request.getReplyTo();
                        
                }
                connection.close();
                return 0;
        }
        catch (const std::exception& error) {
                std::cout << error.what() << std::endl;
                connection.close();
        }

I should qualify my answer a little. The code above is *not* what is running for the recorded trace.

The trace shows a sender created for 'my_queue' and a receiver on a dynamic (i.e. temp queue). The sender sends a messages to my_queue which is accepted. It looks like the receiver is trying to fetch a message concurrently with that send. If it is a fetch(), then it does look as though the wait behaviour is not working for your build on your platform.

The trace would also be consistent with a loop on Receiver::get() where the capacity is set to 1 however, in which case it would be expected.



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

Reply via email to