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:
Max Romanov
2017-06-23 19:20:08 +03:00
parent 4a1b59c27a
commit b8f126dcdf
9 changed files with 565 additions and 35 deletions

View File

@@ -58,6 +58,8 @@ typedef struct {
nxt_process_init_t *init;
nxt_array_t *incoming; /* of nxt_mmap_t */
nxt_array_t *outgoing; /* of nxt_mmap_t */
nxt_lvlhsh_t connected_ports; /* of nxt_port_t */
} nxt_process_t;
@@ -88,6 +90,16 @@ NXT_EXPORT nxt_port_t * nxt_process_port_new(nxt_process_t *process);
#define nxt_process_port_loop \
nxt_queue_loop
void nxt_process_connected_port_add(nxt_process_t *process, nxt_port_t *port);
void nxt_process_connected_port_remove(nxt_process_t *process,
nxt_port_t *port);
nxt_port_t *nxt_process_connected_port_find(nxt_process_t *process,
nxt_pid_t pid, nxt_port_id_t port_id);
#if (NXT_HAVE_SETPROCTITLE)
#define nxt_process_title(task, fmt, ...) \