[ https://issues.apache.org/jira/browse/PROTON-1067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15029130#comment-15029130 ]
Alan Conway commented on PROTON-1067: ------------------------------------- simmel: I'll try to impove the doc there too. Proton will only hold on to up to window_size un-acked messages for you, after that it will auto-ack the oldest ones. Generally if you want to ack in the app you probably never want that to happen so you shouldn't get() more messages than the windows size before acking them yourself, so setting the window size to something large makes sense, but it is a pre-allocated buffer of pointers (I think) so not infinitely large. simmel: there is logic to change the "SND_SETTLED" mode based on window > 0 or == 0 but that's what's faulty right now. IMO it should force pre-settled if window==0 (because the app can't settle them) and default to unsettled (or let the app set the flag and respect it) if window>0 since that indicates the app wants to settle. > python messenger: cannot acknowledge messages, messenger forces auto-ack or > pre-settled. > ---------------------------------------------------------------------------------------- > > Key: PROTON-1067 > URL: https://issues.apache.org/jira/browse/PROTON-1067 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding > Affects Versions: 0.11 > Reporter: Alan Conway > Assignee: Alan Conway > Attachments: recv.py > > > In order to manually acknowledge received messages messenger requires you to: > 1. set "incoming_window" > 0, otherwise messenger auto-settles all messages. > 2. set "snd_settled_mode" to SND_UNSETTLED so that the remote end does not > pre-settle messages. > However the python binding (and I think all the bindings) for messenger do > not allow you to call pn_messenger_set_snd_settled_mode, which defaults to > SND_SETTLED. Thus it is impossible to manually accept messages because either > (with incoming_window==0) messenger auto-settles them or (with > incoming_window > 0) messenger's subscribe requests SND_SETTLED on the > incoming link so the other end sends pre-settled messages. -- This message was sent by Atlassian JIRA (v6.3.4#6332)