CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2012/08/08 02:50:42
Modified files:
usr.sbin/smtpd : bounce.c queue.c scheduler.c
scheduler_backend.c scheduler_ramqueue.c
smtpd.h util.c
Log message:
Improve the scheduler backend API.
New envelopes are pushed into the scheduler through the insert()
commit() rollback() transactional interface functions.
Worklists are pulled from the scheduler through a single batch()
interface function, which returns a list of envelope ids and the
type of processing. Envelopes returned in this batch are said to
be "in-flight", as opposed to "pending". They are supposed to be
processed in some way, and either updated() or deleted() at some
point.
The schedule()/remove() functions are used to alter the internal
state of "pending" envelopes to make them schedulable. The enve-
lopes will be part of a worklist on the next call to batch().
Rewrite the scheduler_ramqueue backend.
The initial queue loading in now done by the queue.
ok gilles@