summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_event_engine.h
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2017-06-23 19:20:08 +0300
committerMax Romanov <max.romanov@nginx.com>2017-06-23 19:20:08 +0300
commitb8f126dcdfdf04bb01b70f9590fc64b3e155e119 (patch)
tree49fc84fb72e1483103c639e5c394820d8127223f /src/nxt_event_engine.h
parent4a1b59c27a8e85fc3b03c420fbc1642ce52e96cf (diff)
downloadunit-b8f126dcdfdf04bb01b70f9590fc64b3e155e119.tar.gz
unit-b8f126dcdfdf04bb01b70f9590fc64b3e155e119.tar.bz2
Added basic HTTP request processing in router.
- request to connection mapping in engine; - requests queue in connection; - engine port creation; - connected ports hash for each process; - engine port data messages processing (app responses);
Diffstat (limited to 'src/nxt_event_engine.h')
-rw-r--r--src/nxt_event_engine.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nxt_event_engine.h b/src/nxt_event_engine.h
index d58949ba..ceb1654e 100644
--- a/src/nxt_event_engine.h
+++ b/src/nxt_event_engine.h
@@ -491,6 +491,7 @@ struct nxt_event_engine_s {
nxt_queue_t joints;
nxt_queue_t listen_connections;
nxt_queue_t idle_connections;
+ nxt_lvlhsh_t requests; /* req_id to nxt_req_conn_link_t */
nxt_queue_link_t link;
};
@@ -509,6 +510,15 @@ NXT_EXPORT void nxt_event_engine_post(nxt_event_engine_t *engine,
NXT_EXPORT void nxt_event_engine_signal(nxt_event_engine_t *engine,
nxt_uint_t signo);
+NXT_EXPORT void nxt_event_engine_request_add(nxt_event_engine_t *engine,
+ nxt_req_conn_link_t *rc);
+NXT_EXPORT nxt_req_conn_link_t *nxt_event_engine_request_find(
+ nxt_event_engine_t *engine, nxt_req_id_t req_id);
+NXT_EXPORT void nxt_event_engine_request_remove(nxt_event_engine_t *engine,
+ nxt_req_conn_link_t *rc);
+NXT_EXPORT nxt_req_conn_link_t *nxt_event_engine_request_find_remove(
+ nxt_event_engine_t *engine, nxt_req_id_t req_id);
+
nxt_inline nxt_event_engine_t *
nxt_thread_event_engine(void)