mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
Merge remote-tracking branch 'ellzey/bev_ratelimit_get_token_cfg'
This commit is contained in:
commit
600c58656a
@ -924,6 +924,23 @@ bufferevent_get_max_to_write(struct bufferevent *bev)
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const struct ev_token_bucket_cfg *
|
||||||
|
bufferevent_get_token_bucket_cfg(const struct bufferevent *bev) {
|
||||||
|
struct bufferevent_private *bufev_private = BEV_UPCAST(bev);
|
||||||
|
struct ev_token_bucket_cfg *cfg;
|
||||||
|
|
||||||
|
BEV_LOCK(bev);
|
||||||
|
|
||||||
|
if (bufev_private->rate_limiting) {
|
||||||
|
cfg = bufev_private->rate_limiting->cfg;
|
||||||
|
} else {
|
||||||
|
cfg = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
BEV_UNLOCK(bev);
|
||||||
|
|
||||||
|
return cfg;
|
||||||
|
}
|
||||||
|
|
||||||
/* Mostly you don't want to use this function from inside libevent;
|
/* Mostly you don't want to use this function from inside libevent;
|
||||||
* bufferevent_get_read_max_() is more likely what you want*/
|
* bufferevent_get_read_max_() is more likely what you want*/
|
||||||
|
@ -795,6 +795,8 @@ 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_read(struct bufferevent *bev);
|
||||||
ev_ssize_t bufferevent_get_max_to_write(struct bufferevent *bev);
|
ev_ssize_t bufferevent_get_max_to_write(struct bufferevent *bev);
|
||||||
|
|
||||||
|
const struct ev_token_bucket_cfg *bufferevent_get_token_bucket_cfg(const struct bufferevent * bev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@name Group Rate limit inspection
|
@name Group Rate limit inspection
|
||||||
|
|
||||||
|
@ -187,6 +187,8 @@ echo_listenercb(struct evconnlistener *listener, evutil_socket_t newsock,
|
|||||||
struct event *check_event =
|
struct event *check_event =
|
||||||
event_new(base, -1, EV_PERSIST, check_bucket_levels_cb, bev);
|
event_new(base, -1, EV_PERSIST, check_bucket_levels_cb, bev);
|
||||||
bufferevent_set_rate_limit(bev, conn_bucket_cfg);
|
bufferevent_set_rate_limit(bev, conn_bucket_cfg);
|
||||||
|
|
||||||
|
assert(bufferevent_get_token_bucket_cfg(bev) != NULL);
|
||||||
event_add(check_event, ms100_common);
|
event_add(check_event, ms100_common);
|
||||||
}
|
}
|
||||||
if (ratelim_group)
|
if (ratelim_group)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user