nxt_router.h (139:25c79f32f3f5) nxt_router.h (141:96a65c601420)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_ROUTER_H_INCLUDED_
8#define _NXT_ROUTER_H_INCLUDED_

--- 6 unchanged lines hidden (view full) ---

15
16
17typedef struct {
18 nxt_thread_spinlock_t lock;
19 nxt_queue_t engines;
20
21 nxt_queue_t sockets; /* of nxt_socket_conf_t */
22 nxt_queue_t apps; /* of nxt_app_t */
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_ROUTER_H_INCLUDED_
8#define _NXT_ROUTER_H_INCLUDED_

--- 6 unchanged lines hidden (view full) ---

15
16
17typedef struct {
18 nxt_thread_spinlock_t lock;
19 nxt_queue_t engines;
20
21 nxt_queue_t sockets; /* of nxt_socket_conf_t */
22 nxt_queue_t apps; /* of nxt_app_t */
23
24 nxt_lvlhsh_t start_workers; /* stream to nxt_start_worker_t */
23} nxt_router_t;
24
25
26typedef struct {
27 uint32_t count;
28 uint32_t threads;
29 nxt_router_t *router;
30 nxt_mp_t *mem_pool;

--- 25 unchanged lines hidden (view full) ---

56 nxt_event_engine_t *engine;
57 nxt_port_t *port;
58 nxt_array_t *engines;
59 nxt_router_conf_t *conf;
60 nxt_mp_t *mem_pool;
61} nxt_router_temp_conf_t;
62
63
25} nxt_router_t;
26
27
28typedef struct {
29 uint32_t count;
30 uint32_t threads;
31 nxt_router_t *router;
32 nxt_mp_t *mem_pool;

--- 25 unchanged lines hidden (view full) ---

58 nxt_event_engine_t *engine;
59 nxt_port_t *port;
60 nxt_array_t *engines;
61 nxt_router_conf_t *conf;
62 nxt_mp_t *mem_pool;
63} nxt_router_temp_conf_t;
64
65
64typedef struct {
66typedef struct nxt_app_module_s nxt_app_module_t;
67typedef struct nxt_app_s nxt_app_t;
68
69struct nxt_app_s {
65 nxt_thread_mutex_t mutex;
66 nxt_queue_t ports;
70 nxt_thread_mutex_t mutex;
71 nxt_queue_t ports;
72 nxt_queue_t requests; /* of nxt_req_conn_link_t */
67 nxt_str_t name;
68
69 uint32_t workers;
70 uint32_t max_workers;
71
72 nxt_app_type_t type:8;
73 uint8_t live; /* 1 bit */
74
75 nxt_queue_link_t link;
76
77 nxt_str_t conf;
73 nxt_str_t name;
74
75 uint32_t workers;
76 uint32_t max_workers;
77
78 nxt_app_type_t type:8;
79 uint8_t live; /* 1 bit */
80
81 nxt_queue_link_t link;
82
83 nxt_str_t conf;
78} nxt_app_t;
84 nxt_app_module_t *module;
85};
79
80
81typedef struct {
82 uint32_t count;
83 nxt_socket_t fd;
84} nxt_router_socket_t;
85
86

--- 19 unchanged lines hidden (view full) ---

106 nxt_queue_link_t link;
107 nxt_event_engine_t *engine;
108 nxt_socket_conf_t *socket_conf;
109
110 /* Modules configuraitons. */
111} nxt_socket_conf_joint_t;
112
113
86
87
88typedef struct {
89 uint32_t count;
90 nxt_socket_t fd;
91} nxt_router_socket_t;
92
93

--- 19 unchanged lines hidden (view full) ---

113 nxt_queue_link_t link;
114 nxt_event_engine_t *engine;
115 nxt_socket_conf_t *socket_conf;
116
117 /* Modules configuraitons. */
118} nxt_socket_conf_joint_t;
119
120
121void nxt_router_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
114void nxt_router_conf_data_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
115
122void nxt_router_conf_data_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
123
124void nxt_router_app_remove_port(nxt_port_t *port);
116
117#endif /* _NXT_ROUTER_H_INCLUDED_ */
125
126#endif /* _NXT_ROUTER_H_INCLUDED_ */