/*++ /* NAME /* qmgr_feedback 3 /* SUMMARY /* delivery agent feedback management /* SYNOPSIS /* #include "qmgr.h" /* /* void qmgr_feedback_init(fbck_ctl, name_prefix, name_tail, /* def_name, def_value) /* QMGR_FEEDBACK *fbck_ctl; /* const char *name_prefix; /* const char *name_tail; /* const char *def_name; /* const char *def_value; /* /* double QMGR_FEEDBACK_VAL(fbck_ctl, concurrency) /* QMGR_FEEDBACK *fbck_ctl; /* const int concurrency; /* DESCRIPTION /* Upon completion of a delivery request, a delivery agent /* provides a hint that the scheduler should dedicate fewer or /* more resources to a specific destination. /* /* qmgr_feedback_init() looks up transport-dependent positive /* or negative concurrency feedback control information from /* main.cf, and converts it to internal form. /* /* QMGR_FEEDBACK_VAL() computes a concurrency adjustment based /* on a preprocessed feedback control information and the /* current concurrency window. This is an "unsafe" macro that /* evaluates some arguments multiple times. /* /* Arguments: /* .IP fbck_ctl /* Pointer to QMGR_FEEDBACK structure where the result will /* be stored. /* .IP name_prefix /* Mail delivery transport name, used as the initial portion /* of a transport-dependent concurrency feedback parameter /* name. /* .IP name_tail /* The second, and fixed, portion of a transport-dependent /* concurrency feedback parameter. /* .IP def_name /* The name of a default feedback parameter. /* .IP def_val /* The value of the default feedback parameter. /* .IP concurrency /* Delivery concurrency for concurrency-dependent feedback calculation. /* DIAGNOSTICS /* Warning: configuration error or unreasonable input. The program /* uses name_tail feedback instead. /* Panic: consistency check failure. /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* /* Wietse Venema /* Google, Inc. /* 111 8th Avenue /* New York, NY 10011, USA
/*--*/
/* *Performancedebugging/analysis.
*/ if (var_conc_feedback_debug)
msg_info("%s: %s feedback type %d value at %d: %g",
name_prefix, strcmp(fbck_val, def_val) ?
fbck_name : def_name, fb->index, var_init_dest_concurrency,
QMGR_FEEDBACK_VAL(*fb, var_init_dest_concurrency));
myfree(fbck_name);
myfree(fbck_val);
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.