From e741e41159907797fbc3ef01e12033e85586d0b7 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 17 Apr 2020 17:35:48 -0700 Subject: [PATCH] conn limit sequential messages Process at most 4 messages from one connection before re-contending. --- src/conn.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/conn.cpp b/src/conn.cpp index c1da87b..afcc09f 100644 --- a/src/conn.cpp +++ b/src/conn.cpp @@ -94,8 +94,10 @@ void ConnBase::bevEvent(short events) void ConnBase::bevRead() { auto rx = bufferevent_get_input(bev.get()); + unsigned niter; - while(bev && evbuffer_get_length(rx)>=8) { + + for(niter=0; niter<4 && bev && evbuffer_get_length(rx)>=8; niter++) { uint8_t header[8]; auto ret = evbuffer_copyout(rx, header, sizeof(header));