• Ondřej Zajíček's avatar
    Rate-limit scheduling of work-events · 7be3af7f
    Ondřej Zajíček authored
    In general, events are code handling some some condition, which is
    scheduled when such condition happened and executed independently from
    I/O loop. Work-events are a subgroup of events that are scheduled
    repeatedly until some (often significant) work is done (e.g. feeding
    routes to protocol). All scheduled events are executed during each
    I/O loop iteration.
    
    Separate work-events from regular events to a separate queue and
    rate limit their execution to a fixed number per I/O loop iteration.
    That should prevent excess latency when many work-events are
    scheduled at one time (e.g. simultaneous reload of many BGP sessions).
    7be3af7f