There's a confusing difference in the meanings of the delivery "is settled"
methods in proton-j (Delivery.isSettled) and proton-c
(pn_delivery_settled): their return values represent the local and remote
values respectively. proton-j has a separate remotelySettled() method,
whereas proton-c appears to have no way of accessing the local state.

I'd like to modify one or both apis to resolve this semantic difference.
There are clearly a number of options.

My favourite is to modify the proton-c function to return the local value,
and add a new function to return the remote one. This is consistent with
the other functions that have local and remote counterparts, eg
pn_link_source and pn_link_remote_source. If this change in proton-c api
semantics is too abrupt, maybe we could just deprecate the existing
function and method and add new ones that are explicit about their
local/remote meaning.

What do people think?

Thanks,
Phil

Reply via email to