nxt_router.h (774:b21709350c49) nxt_router.h (964:6fe64e3a9a38)
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_
9
10
11#include <nxt_main.h>
12#include <nxt_runtime.h>
13#include <nxt_main_process.h>
14
15typedef struct nxt_http_request_s nxt_http_request_t;
16#include <nxt_application.h>
17
18
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_
9
10
11#include <nxt_main.h>
12#include <nxt_runtime.h>
13#include <nxt_main_process.h>
14
15typedef struct nxt_http_request_s nxt_http_request_t;
16#include <nxt_application.h>
17
18
19typedef struct nxt_http_pass_s nxt_http_pass_t;
20typedef struct nxt_http_routes_s nxt_http_routes_t;
19typedef struct nxt_router_access_log_s nxt_router_access_log_t;
20
21
22typedef struct {
23 nxt_thread_spinlock_t lock;
24 nxt_queue_t engines;
25
26 nxt_queue_t sockets; /* of nxt_socket_conf_t */
27 nxt_queue_t apps; /* of nxt_app_t */
28
29 nxt_router_access_log_t *access_log;
30} nxt_router_t;
31
32
33typedef struct {
34 uint32_t count;
35 uint32_t threads;
36 nxt_router_t *router;
21typedef struct nxt_router_access_log_s nxt_router_access_log_t;
22
23
24typedef struct {
25 nxt_thread_spinlock_t lock;
26 nxt_queue_t engines;
27
28 nxt_queue_t sockets; /* of nxt_socket_conf_t */
29 nxt_queue_t apps; /* of nxt_app_t */
30
31 nxt_router_access_log_t *access_log;
32} nxt_router_t;
33
34
35typedef struct {
36 uint32_t count;
37 uint32_t threads;
38 nxt_router_t *router;
39 nxt_http_routes_t *routes;
37 nxt_mp_t *mem_pool;
38
39 nxt_router_access_log_t *access_log;
40} nxt_router_conf_t;
41
42
43typedef struct {
44 nxt_event_engine_t *engine;

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

132};
133
134
135typedef struct {
136 uint32_t count;
137 nxt_queue_link_t link;
138 nxt_router_conf_t *router_conf;
139
40 nxt_mp_t *mem_pool;
41
42 nxt_router_access_log_t *access_log;
43} nxt_router_conf_t;
44
45
46typedef struct {
47 nxt_event_engine_t *engine;

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

135};
136
137
138typedef struct {
139 uint32_t count;
140 nxt_queue_link_t link;
141 nxt_router_conf_t *router_conf;
142
140 nxt_app_t *application;
143 nxt_http_pass_t *pass;
141
142 /*
143 * A listen socket time can be shorter than socket configuration life
144 * time, so a copy of the non-wildcard socket sockaddr is stored here
145 * to be used as a local sockaddr in connections.
146 */
147 nxt_sockaddr_t *sockaddr;
148

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

184
185
186void nxt_router_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
187void nxt_router_conf_data_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
188void nxt_router_remove_pid_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
189void nxt_router_access_log_reopen_handler(nxt_task_t *task,
190 nxt_port_recv_msg_t *msg);
191
144
145 /*
146 * A listen socket time can be shorter than socket configuration life
147 * time, so a copy of the non-wildcard socket sockaddr is stored here
148 * to be used as a local sockaddr in connections.
149 */
150 nxt_sockaddr_t *sockaddr;
151

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

187
188
189void nxt_router_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
190void nxt_router_conf_data_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
191void nxt_router_remove_pid_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg);
192void nxt_router_access_log_reopen_handler(nxt_task_t *task,
193 nxt_port_recv_msg_t *msg);
194
192void nxt_router_process_http_request(nxt_task_t *task, nxt_app_parse_ctx_t *ar);
195void nxt_router_process_http_request(nxt_task_t *task, nxt_app_parse_ctx_t *ar,
196 nxt_app_t *app);
193void nxt_router_app_port_close(nxt_task_t *task, nxt_port_t *port);
197void nxt_router_app_port_close(nxt_task_t *task, nxt_port_t *port);
198nxt_app_t *nxt_router_listener_application(nxt_router_temp_conf_t *tmcf,
199 nxt_str_t *name);
194void nxt_router_app_use(nxt_task_t *task, nxt_app_t *app, int i);
195void nxt_router_listen_event_release(nxt_task_t *task, nxt_listen_event_t *lev,
196 nxt_socket_conf_joint_t *joint);
197void nxt_router_conf_release(nxt_task_t *task, nxt_socket_conf_joint_t *joint);
198
199
200#endif /* _NXT_ROUTER_H_INCLUDED_ */
200void nxt_router_app_use(nxt_task_t *task, nxt_app_t *app, int i);
201void nxt_router_listen_event_release(nxt_task_t *task, nxt_listen_event_t *lev,
202 nxt_socket_conf_joint_t *joint);
203void nxt_router_conf_release(nxt_task_t *task, nxt_socket_conf_joint_t *joint);
204
205
206#endif /* _NXT_ROUTER_H_INCLUDED_ */