From 162ce8a856224bdb3119db41d93fb94194886ddd Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 23 Feb 2010 00:38:30 -0500 Subject: [PATCH] Expose view of current rate limit as constrained by group limit --- bufferevent_ratelim.c | 21 +++++++++++++++++++++ include/event2/bufferevent.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/bufferevent_ratelim.c b/bufferevent_ratelim.c index f0c687b6..c624ec7b 100644 --- a/bufferevent_ratelim.c +++ b/bufferevent_ratelim.c @@ -727,6 +727,27 @@ bufferevent_get_write_limit(struct bufferevent *bev) return r; } +ev_ssize_t +bufferevent_get_max_to_read(struct bufferevent *bev) +{ + ev_ssize_t r; + BEV_LOCK(bev); + r = _bufferevent_get_read_max(BEV_UPCAST(bev)); + BEV_UNLOCK(bev); + return r; +} + +ev_ssize_t +bufferevent_get_max_to_write(struct bufferevent *bev) +{ + ev_ssize_t r; + BEV_LOCK(bev); + r = _bufferevent_get_write_max(BEV_UPCAST(bev)); + BEV_UNLOCK(bev); + return r; +} + + /* Mostly you don't want to use this function from inside libevent; * _bufferevent_get_read_max() is more likely what you want*/ ev_ssize_t diff --git a/include/event2/bufferevent.h b/include/event2/bufferevent.h index 6c37dc0b..18114c20 100644 --- a/include/event2/bufferevent.h +++ b/include/event2/bufferevent.h @@ -597,6 +597,9 @@ ev_ssize_t bufferevent_get_read_limit(struct bufferevent *bev); ev_ssize_t bufferevent_get_write_limit(struct bufferevent *bev); /*@}*/ +ev_ssize_t bufferevent_get_max_to_read(struct bufferevent *bev); +ev_ssize_t bufferevent_get_max_to_write(struct bufferevent *bev); + /*@{*/ /** Return the read or write bucket size for a bufferevent rate limit