On Wed, Aug 08, 2012 at 02:50:42AM -0600, Eric Faurot wrote:
> CVSROOT:      /cvs
> Module name:  src
> Changes by:   e...@cvs.openbsd.org    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@
> 

We started this work at the hackathon in Budapest and it is quite big
which is why it was delayed. You really want to update and test this,
it is a huge step forward and we need to kill potential bugs :-)

-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to