request_queued


Description:

[ Version ( since = "2.24" ) ]
public signal void request_queued (Message msg)

Emitted when a request is queued on session.

(Note that "queued" doesn't just mean queue_message; send_message implicitly queues the message as well.)

When sending a request, first request_queued is emitted, indicating that the session has become aware of the request.

Once a connection is available to send the request on, the session emits request_started. Then, various Message signals are emitted as the message is processed. If the message is requeued, it will emit restarted, which will then be followed by another request_started and another set of Message signals when the message is re-sent.

Eventually, the message will emit finished. Normally, this signals the completion of message processing. However, it is possible that the application will requeue the message from the "finished" handler (or equivalently, from the queue_message callback). In that case, the process will loop back to request_started.

Eventually, a message will reach "finished" and not be requeued. At that point, the session will emit request_unqueued to indicate that it is done with the message.

To sum up: request_queued and request_unqueued are guaranteed to be emitted exactly once, but request_started and finished (and all of the other Message signals) may be invoked multiple times for a given message.

Parameters:

msg

the request that was queued