indimail / indimail-mta

qmail fork with IPV6, TLS, DANE, DKIM, SRS2, SPF, daemontools, qmailanalog, mess822, & ucspi-tcp
https://github.com/indimail/indimail-mta/wiki/0-IndiMail-Wiki
GNU General Public License v3.0
12 stars 2 forks source link

add rate limiting feature to qmail-send #18

Closed mbhangui closed 3 years ago

mbhangui commented 3 years ago
  1. New program slowq-send without qmail-todo, slowq-start with rate limiting code
  2. added rate limit code of slowq-send to qmail-send
  3. Modify queue-fix to create ratelimit dir in slowq queue
  4. modify drate to work with new rate limit code in qmail-send/slowq-send
  5. modify svctool to create slowq-send service with delivery rate control enabled
  6. modify svctool to create qmali-send service with delivery rate control disabled.
  7. modify qmail-qread, qmail-tcpto, qmail-tcpok to additionally process slowq queue
  8. create man pages for slowq-start, slowq-send
  9. modify qmail-send, slowq-send code to modify wakeup times to take up delayed jobs to match configured rates.
  10. display delayed jobs and time required to reach below the configured rate in pass_dochan()
  11. added delayed argument to struct prioq
  12. Added documentation on delivery limits https://github.com/mbhangui/indimail-mta/wiki/IndiMail#controlling-delivery-rates https://github.com/mbhangui/indimail-mta/wiki/IndiMail#global--queue-specific-concurrency-parallelism-limits
  13. modified prioq functions to sort in decreasing order. The order is now decided by prioq_insert() function