aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/src/tldk/parse.c
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2019-11-04 13:50:31 +0000
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2019-12-31 11:51:05 +0000
commitb8f1ef2b02b8709c72408ee4803f442efc9f4576 (patch)
tree95a16adc465206d351cbf1b823f793c7592f00e7 /app/nginx/src/tldk/parse.c
parent47eb00f25ab06a699dc27507814c7656940340af (diff)
v6: make TCP stream alloc/free to use memtank API
Introduce two extra parameters for TCP context creation: struct { uint32_t min; /**< min number of free streams (grow threshold). */ uint32_t max; /**< max number of free streams (shrink threshold). */ } free_streams; By default these params are equal to max_streams value (avoid dynamic allocation and preserve current beahviour). grow() is invoked from accept() FE call to refill streams tank for BE. shrink() is invoked from close() FE call. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Change-Id: I7af6a76d64813ee4a535323e27ffbfd75037fc92
Diffstat (limited to 'app/nginx/src/tldk/parse.c')
-rw-r--r--app/nginx/src/tldk/parse.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/nginx/src/tldk/parse.c b/app/nginx/src/tldk/parse.c
index 5d71d9e..6e20b1b 100644
--- a/app/nginx/src/tldk/parse.c
+++ b/app/nginx/src/tldk/parse.c
@@ -413,6 +413,18 @@ tldk_ctx_parse(ngx_conf_t *cf, ngx_command_t *dummy, void *conf)
&pvl) < 0)
return NGX_CONF_ERROR;
tcx->nb_stream = pvl.u64;
+ } else if (ngx_strcmp(v[0].data, "min_free_streams") == 0) {
+ if (cf->args->nelts != 2 ||
+ parse_uint_val((const char *)v[1].data,
+ &pvl) < 0)
+ return NGX_CONF_ERROR;
+ tcx->free_streams.nb_min = pvl.u64;
+ } else if (ngx_strcmp(v[0].data, "max_free_streams") == 0) {
+ if (cf->args->nelts != 2 ||
+ parse_uint_val((const char *)v[1].data,
+ &pvl) < 0)
+ return NGX_CONF_ERROR;
+ tcx->free_streams.nb_max = pvl.u64;
} else if (ngx_strcmp(v[0].data, "rbufs") == 0) {
if (cf->args->nelts != 2 ||
parse_uint_val((const char *)v[1].data,