summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_conn.h
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2022-08-29 14:27:09 +0800
committerValentin Bartenev <vbart@nginx.com>2022-08-29 14:27:09 +0800
commitce26dd729e6842c9ec8cc83bf091167e4c50a1ec (patch)
treed215198f765faeefd46253bd118e8d058d31fd1e /src/nxt_conn.h
parentf2bab1b1be658e3456aa1cec84a1879d4b01577e (diff)
downloadunit-ce26dd729e6842c9ec8cc83bf091167e4c50a1ec.tar.gz
unit-ce26dd729e6842c9ec8cc83bf091167e4c50a1ec.tar.bz2
Implemented basic statistics API.
Diffstat (limited to 'src/nxt_conn.h')
-rw-r--r--src/nxt_conn.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/nxt_conn.h b/src/nxt_conn.h
index a443601f..8a703e9a 100644
--- a/src/nxt_conn.h
+++ b/src/nxt_conn.h
@@ -160,6 +160,7 @@ struct nxt_conn_s {
uint8_t block_read; /* 1 bit */
uint8_t block_write; /* 1 bit */
uint8_t delayed; /* 1 bit */
+ uint8_t idle; /* 1 bit */
#define NXT_CONN_SENDFILE_OFF 0
#define NXT_CONN_SENDFILE_ON 1
@@ -294,6 +295,28 @@ NXT_EXPORT void nxt_event_conn_job_sendfile(nxt_task_t *task,
} while (0)
+#define nxt_conn_idle(engine, c) \
+ do { \
+ nxt_event_engine_t *e = engine; \
+ \
+ nxt_queue_insert_head(&e->idle_connections, &c->link); \
+ \
+ c->idle = 1; \
+ e->idle_conns_cnt++; \
+ } while (0)
+
+
+#define nxt_conn_active(engine, c) \
+ do { \
+ nxt_event_engine_t *e = engine; \
+ \
+ nxt_queue_remove(&c->link); \
+ \
+ c->idle = 0; \
+ e->idle_conns_cnt--; \
+ } while (0)
+
+
extern nxt_conn_io_t nxt_unix_conn_io;