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@

Reply via email to