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]