I have a situation where a receiver (proton python's simple_recv.py) is
receiving a multi-frame transfer from a Dispatch Router. The settled flag
is false on all the transfer frames except on the last frame which has
settled=true as seen here -

https://pastebin.com/37SYrg92

Proton considers the delivery as unsettled and as a result some of the
Dispatch router tests are failing like this one -
https://github.com/apache/qpid-dispatch/blob/master/tests/system_tests_one_router.py#L1097

The AMQP 1.0 spec says the following about the settled flag on transfers -

settled - If not set on the first (or only) transfer for a (multi-transfer)
delivery, then the settled flag MUST be interpreted as being false. For
subsequent transfers in a multi-transfer delivery if the settled flag is
left unset then it MUST be interpreted as true if and only if the value of
the settled flag on any of the preceding transfers was true; if no
preceding transfer was sent with settled being true then the value when
unset MUST be taken as false.

I am not sure the above applies to my situation.

My question is, is this delivery settled? It logically looks settled to me
since the last frame did have settled=true.

Thoughts?

Thanks,
Ganesh.

Reply via email to