]> granicus.if.org Git - libevent/commitdiff
Adjust evbuffer max read for bufferevents
authorAzat Khuzhin <azat@libevent.org>
Sat, 16 Mar 2019 14:32:17 +0000 (17:32 +0300)
committerAzat Khuzhin <azat@libevent.org>
Sat, 16 Mar 2019 14:33:27 +0000 (17:33 +0300)
bufferevent_ratelim.c
include/event2/bufferevent.h

index 258749685353bd98da540ec6b2b970b67a26e645..3b7ae51b4522fcccda382f7c05acc7b9fefb13ac 100644 (file)
@@ -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;
 }
index dac34dc761eef9f5821d2bc5b21069b5fd02b5a0..da4d3802c183abde75d519d247ff90ad78f9b4f5 100644 (file)
@@ -890,6 +890,8 @@ int bufferevent_remove_from_rate_limit_group(struct bufferevent *bev);
    Set to 0 for a reasonable default.
 
    Return 0 on success and -1 on failure.
+
+   @see evbuffer_set_max_read()
  */
 EVENT2_EXPORT_SYMBOL
 int bufferevent_set_max_single_read(struct bufferevent *bev, size_t size);