On 18/11/2019 12:07 pm, Mike Longfritz wrote:
It's the latter, unfortunately. I set self.expected to zero and
self.timeout to something big so that poll_for_messages() runs basically
indefinitely - and new messages are not seen.

With PN_TRACE_FRM set to true, I see empty frames being sent one way every
~15 seconds, but not the other way:
   [0x7f98cfb002e0]:0 -> (EMPTY FRAME)

In contrast, with my java-equivalent poller, when it's idly waiting for
more messages, I see 2 empty frames in one direction and one in the other
direction every ~15 seconds:
   [1584536876:0] -> Empty Frame
   [1584536876:0] -> Empty Frame
   [1584536876:0] <- Empty Frame

This makes me suspect that the connection is being dropped in the python
version, though I'm not sure how to prevent that.

That is not necessarily the case. The heartbeats in each direction are independently requested. By default the python client does not request one. However it is sending them as requested by broker which is what is important.

Can you compare the attach frames sent by the python program and the java one? Is there any noticeable difference there?

And just to confirm, you don't see any transfers to the python client that represent the 'missing messages', which are not then being passed to the appropriate callback?


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

Reply via email to