__mail_queue_maintain
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.