On Mon, Apr 21, 2025 at 7:58 AM Fernández Parejo, José Alberto
<jafpar...@indra.es.invalid> wrote:
> The problem is that when external user doesn't dequeue nor TCP ACK messages 
> sender is blocked. We have tried to use sync parameter or
> QPID_MESSAGING_EXTERN uint32_t    getCapacity ()
>
> But it is no way to detect this issue or to try to make send non block.
>
> Is there any way to make send procedure non-blocking in the same way that a 
> TCP send can be set as non-blocking? Or have you any other way to check this 
> problem?

You can use the Sender::getAvailable() method to determine whether
there is any available capacity. If there is, a call to Sender::send()
with sync=false will not block. However if there is no available
capacity, it will block regardless of the sync flag.

If you want to send unreliably, i.e. you don't care about
acknowledgement at all and will not want to try to resend
unacknowledged messages in the event of connection failure, then you
can use an address of the form: "mytarget;{link: {'reliability':
'unreliable'}}" when creating the sender.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to