summaryrefslogtreecommitdiff
path: root/bufferevent_ratelim.c
diff options
context:
space:
mode:
authorAzat Khuzhin <azat@libevent.org>2019-03-16 17:32:17 +0300
committerAzat Khuzhin <azat@libevent.org>2019-03-16 17:33:27 +0300
commit5357c3d62ab3c3b654a14434ba2e573a155f8d91 (patch)
tree09c297b50ac8138a96f7fdf7f6d499b88f901d01 /bufferevent_ratelim.c
parent8c2001e92a6615cc7b4efc8e33cff58c28effd30 (diff)
downloadlibevent-5357c3d62ab3c3b654a14434ba2e573a155f8d91.tar.gz
Adjust evbuffer max read for bufferevents
Diffstat (limited to 'bufferevent_ratelim.c')
-rw-r--r--bufferevent_ratelim.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/bufferevent_ratelim.c b/bufferevent_ratelim.c
index 25874968..3b7ae51b 100644
--- a/bufferevent_ratelim.c
+++ b/bufferevent_ratelim.c
@@ -855,14 +855,16 @@ int
bufferevent_set_max_single_read(struct bufferevent *bev, size_t size)
{
struct bufferevent_private *bevp;
+ int ret = 0;
BEV_LOCK(bev);
bevp = BEV_UPCAST(bev);
if (size == 0 || size > EV_SSIZE_MAX)
bevp->max_single_read = MAX_SINGLE_READ_DEFAULT;
else
bevp->max_single_read = size;
+ ret = evbuffer_set_max_read(bev->input, bevp->max_single_read);
BEV_UNLOCK(bev);
- return 0;
+ return ret;
}
int
@@ -1085,5 +1087,8 @@ bufferevent_ratelim_init_(struct bufferevent_private *bev)
bev->max_single_read = MAX_SINGLE_READ_DEFAULT;
bev->max_single_write = MAX_SINGLE_WRITE_DEFAULT;
+ if (evbuffer_set_max_read(bev->bev.input, bev->max_single_read))
+ return -1;
+
return 0;
}