At least for public-inbox-httpd, this allows us to avoid having
a client monopolize one event loop tick of the server for too
long.  It hurts throughput for the /all.mbox.gz endpoint, but I
doubt anybody cares and the latency improvement for other
clients would be appreciated.

We already do the same fairness thing for HTML pages.
---
 lib/PublicInbox/Mbox.pm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm
index 1e3de5b..dc41548 100644
--- a/lib/PublicInbox/Mbox.pm
+++ b/lib/PublicInbox/Mbox.pm
@@ -138,6 +138,9 @@ sub getline {
                                ${$self->{buf}} = '';
                                return $ret;
                        }
+
+                       # be fair to other clients on public-inbox-httpd:
+                       return '';
                }
                $res = $self->{cb}->($self->{opts});
                $self->{msgs} = $res->{msgs};
-- 
EW

--
unsubscribe: [email protected]
archive: https://public-inbox.org/meta/

Reply via email to