Skip to main content

Name

__mail_queue_maintain

Synopsis

#include "hooks/core/__mail_queue_maintain.h"

| int **__mail_queue_maintain** ( | closure, |   | |   | dr, |   | |   | binding_slot, |   | |   | sl, |   | |   | now, |   | |   | goalsz, |   | |   | reserve); |   |

void * <var class="pdparam">closure</var>; domain_record * <var class="pdparam">dr</var>; int <var class="pdparam">binding_slot</var>; Skiplist * <var class="pdparam">sl</var>; struct timeval * <var class="pdparam">now</var>; int <var class="pdparam">goalsz</var>; int <var class="pdparam">reserve</var>;

| int **has_core___mail_queue_maintain_hook** ( | ); |   |

| void **register_core___mail_queue_maintain_hook_first** ( | hook, |   | |   | closure); |   |

ec_hook_core___mail_queue_maintain_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| void **register_core___mail_queue_maintain_hook_last** ( | hook, |   | |   | closure); |   |

ec_hook_core___mail_queue_maintain_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| int **call_core___mail_queue_maintain_hook** ( | dr, |   | |   | binding_slot, |   | |   | sl, |   | |   | now, |   | |   | goalsz, |   | |   | reserve); |   |

domain_record * <var class="pdparam">dr</var>; int <var class="pdparam">binding_slot</var>; Skiplist * <var class="pdparam">sl</var>; struct timeval * <var class="pdparam">now</var>; int <var class="pdparam">goalsz</var>; int <var class="pdparam">reserve</var>;

Description

This hook is called from within regular mail queue maintenance on a per binding basis. binding_slot refers to the current MultiVIP™ binding that has messages in its active queue sl.

If goalsz is greater than zero, then a predetermined number of connections should be established. However, this should not cause the total number of connections in the system to exceed the configured maximum minus reserve.

If a non-zero value is returned, no further callbacks will be called. Functions implementing passive analysis or other accounting should hook here first, perform their function and return 0 to allow the default Momentum __mail_queue_maintain to act.

Was this page helpful?