awGetEventsWithAck
BrokerError awGetEventsWithAck(
BrokerClient client,
int max_events,
BrokerLong seqn,
int msecs,
int *n,
BrokerEvent **events);
client | The Broker client requesting the events. |
max_events | The maximum number of events to be returned. |
seqn | Specifies the last event to acknowledge. If set to zero, all previously received events that have not been acknowledged will be acknowledged. If set to -1, no acknowledgment is done at all. |
msecs | The number of milliseconds to wait for the events before timing out. If set to AW_INFINITE, this function will wait indefinitely. |
n | The number of events returned. This parameter is used for output. |
events | An array of events. This parameter is used for output. |
Acknowledges all the events received by client, up to the event specified by seqn and then obtains one or more events. If seqn is set to -1, no previously retrieved events will be acknowledged.
The events that are obtained may be those for which the client has registered a subscription, they may be delivered events, or both.
Calling
awGetEventsWithAck on a client that has registered callback functions will temporarily disable the callback mechanism for that client until this function returns. For more information on acknowledging events see
Using Sequence Numbers. If the wait time expires, this function returns a
BrokerError with a major code of
AW_ERROR_TIMEOUT and
n set to zero.
The caller is responsible for calling awDeleteEvent on each event and then for calling free on the array itself.
Note:
The Broker will delete all guaranteed events from the event queue once they are acknowledged.
Possible BrokerError major codes | Meaning |
AW_ERROR_INTERRUPTED | |
AW_ERROR_INVALID_CLIENT | The client has been destroyed or disconnected. |
AW_ERROR_NULL_PARAM | The n or events is NULL. |
AW_ERROR_OUT_OF_RANGE | The msecs parameter is less than -1 or max_events is less than zero. |
AW_ERROR_TIMEOUT | The msecs time-out interval expired before any events arrived. |
See also: