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);
This commit is contained in:
@@ -141,6 +141,8 @@ struct nxt_conn_s {
|
||||
|
||||
nxt_conn_io_t *io;
|
||||
|
||||
nxt_queue_t requests; /* of nxt_req_conn_link_t */
|
||||
|
||||
#if (NXT_SSLTLS || NXT_THREADS)
|
||||
/* SunC does not support "zero-sized struct/union". */
|
||||
|
||||
@@ -180,6 +182,16 @@ struct nxt_conn_s {
|
||||
};
|
||||
|
||||
|
||||
typedef uint32_t nxt_req_id_t;
|
||||
|
||||
typedef struct {
|
||||
nxt_req_id_t req_id;
|
||||
nxt_conn_t *conn;
|
||||
|
||||
nxt_queue_link_t link;
|
||||
} nxt_req_conn_link_t;
|
||||
|
||||
|
||||
#define nxt_conn_timer_init(ev, c, wq) \
|
||||
do { \
|
||||
(ev)->work_queue = (wq); \
|
||||
@@ -347,4 +359,10 @@ NXT_EXPORT void nxt_conn_proxy(nxt_task_t *task, nxt_conn_proxy_t *p);
|
||||
#define nxt_event_conn_close nxt_conn_close
|
||||
|
||||
|
||||
NXT_EXPORT nxt_req_conn_link_t *nxt_conn_request_add(nxt_conn_t *c,
|
||||
nxt_req_id_t req_id);
|
||||
NXT_EXPORT void nxt_conn_request_remove(nxt_conn_t *c,
|
||||
nxt_req_conn_link_t *rc);
|
||||
|
||||
|
||||
#endif /* _NXT_CONN_H_INCLUDED_ */
|
||||
|
||||
Reference in New Issue
Block a user