We've been hoping that mkdocs-material will ship the much anticipated search enhancements for some time, but it's time to recognize that we need to do something to improve the search results with how things work right now. This is a big commit that changes the titles of the various pages from the code-annotated synopsis to just the name of the function. This makes it much easier now to match things like `kumo.reject` directly, but `reject` remains awkward to find. I think this is the best that we can do at this time. A few functions have been annotated with the `status: deprecated` to show as deprecated in the toc/nav (shows with a little trash can next to the name).
1.4 KiB
kumo.make_egress_pool
kumo.make_egress_pool { PARAMS }
Defines an egress pool, which is a collection of weighted egress sources associated with the source of outbound traffic from the MTA.
A given scheduled queue can be associated with a pool and it will then use Weighted Round Robin (WRR) to distribute sends from that scheduled queue across the IPs contained within its associated pool. When a scheduled queue is idle for approximately 10 minutes, it will idle out and the round robin state will be reset for the next send.
!!! info The Weighted Round Robin implementation in kumomta is considered to be probabilistic, achieving the configured distribution only when the rate of sending is sufficiently high (at least 1 message to a given site every few minutes), and is scoped per-scheduled-queue. There is no whole-machine nor whole-cluster coordination in the round robin implementation as those techniques introduce bottlenecks that limit scalability and are unnecessary at the kinds of volumes where it is important to implement distribution across sending IPs.
This function is intended to be used inside your get_egress_pool event handler.
PARAMS is a lua table which may have the following keys: