Function MQ_complete

MailerQ has a non-blocking nature, and uses callbacks to pass control to a plugin. It is then up to the plugin to interact with the event loop, and pass control back to MailerQ when it is ready with its task. Passing back control can be done in three different ways:

The MQ_complete() implements the second behavior. If you call it, MailerQ will skip all subsequent plugins and continues with its original algorithm.

/**
 *  Finish plugin processing
 *
 *  @param  connection  the connection that may move on to the next plugin
 */
void MQ_continue(MQ_Connection *connection);

See also MQ_continue() and MQ_retry() for the other ways of handing back control.