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