Valentin Bartenev
c610b35649
Controller: added "/config" prefix for the configuration object.
2018-04-11 18:23:58 +03:00
Valentin Bartenev
96927e7d0c
Controller: fixed a memory leak when PUT operation failed.
...
Thanks to 洪志道 (Hong Zhi Dao).
2018-04-08 14:08:06 +03:00
Valentin Bartenev
bebc5845f8
Capitalization in the "Server" field.
2018-03-13 20:32:47 +03:00
Valentin Bartenev
912a49c609
Reduced number of critical log levels.
2018-03-05 17:32:50 +03:00
Valentin Bartenev
8830d73261
HTTP parser: reworked header fields handling.
2017-12-25 17:04:22 +03:00
Igor Sysoev
80e8ce8322
A number of engine connections is decreased on connection close.
2017-11-27 17:52:28 +03:00
Max Romanov
51396fea83
Checking the result of shared memory buffer allocation.
...
This closes #57 issue on GitHub.
2017-10-25 15:09:07 +03:00
Igor Sysoev
67c066b026
Router: fixed segfault after configuration change.
2017-10-18 18:05:47 +03:00
Valentin Bartenev
1c6d4d8cff
Basic validation errors.
2017-10-10 19:46:58 +03:00
Max Romanov
85e485776b
Using port 'post' facility to proxy remove pid message to workers.
...
Remove pid proxying to worker engines implementation was originally
overcomplicated. Memory pool and 2 engine posts (there and back again) are
optimized out and replaced with band new nxt_port_post() call.
2017-10-04 15:01:15 +03:00
Max Romanov
414d508e04
Using engine memiory pool for port write allocations.
...
To allow use port from different threads, the first step is to avoid using
port's memory pool for temporary allocations required to send data through
the port. Including but not limited by:
- buffers for data;
- send message structures;
- new mmap fd notifications;
It is still safe to use port memory pool for incoming buffers allocations
because recieve operation bound to single thread.
2017-10-04 14:58:13 +03:00
Igor Sysoev
bfa808d689
Event engine memory cache for nxt_sockaddr_t.
...
Introducing event engine memory cache and using the cache for
nxt_sockaddr_t structures.
2017-09-27 19:22:59 +03:00
Max Romanov
838d9946ac
Introducing named port message handlers to avoid misprints.
2017-09-15 20:30:34 +03:00
Valentin Bartenev
90ae152ce0
Fixed port handlers arrays.
2017-09-15 14:38:22 +03:00
Valentin Bartenev
4953e5b5cb
Configuration persistence.
...
Now configuration survives server reloads.
2017-09-10 06:22:15 +03:00
Igor Sysoev
4d5e39e8c1
Fixed textual socket name lengths and Unix domain sockaddr length.
2017-09-14 18:16:22 +03:00
Igor Sysoev
f0e9e3ace9
nginext has been renamed to unit.
2017-08-31 00:42:16 +03:00
Valentin Bartenev
55fe80600c
Controller: resending configuration to router after its restart.
...
Now router crash can be survived with less damage.
2017-08-30 03:10:13 +03:00
Valentin Bartenev
f528cb393a
Controller: waiting for router before start to accept connections.
...
Previously, reconfiguration might fail right after the daemon start
if the router process wasn't ready yet.
2017-08-30 03:10:13 +03:00
Valentin Bartenev
e21dbf89e6
Controller: correct handling of missing router port.
...
There's no router port if the router process is just crashed
or hasn't started yet.
2017-08-30 03:09:06 +03:00
Igor Sysoev
9d487df10d
The master process has been renamed to the main process.
2017-08-29 02:59:35 +03:00
Valentin Bartenev
1a5ec7fd08
Improved reconfiguration requests serialization.
...
Previously, only applying of updated configuration was serialized,
while the changes themselves could be done in parallel on the same
configuration. That resulted in inconsistent behaviour.
2017-08-28 10:20:40 +03:00
Igor Sysoev
0d65c896cf
Added configure and command line option --control.
2017-08-26 13:37:44 +03:00
Valentin Bartenev
e2653f7ba5
Fixed building by GCC after 7d1017bd0f6c.
2017-08-13 15:58:44 +03:00
Valentin Bartenev
80deee3903
Controller: more HTTP headers and detailed JSON parsing errors.
2017-08-11 19:54:40 +03:00
Valentin Bartenev
617da0d023
Fixed building without debug after c1ae75b4e17c and 6281674ecf4f.
2017-08-04 18:00:40 +03:00
Max Romanov
bcf99f87e2
Using port rpc in controller->router configuration update.
2017-08-02 13:20:57 +03:00
Max Romanov
3812ffd336
Added bit flags to type parameter of nxt_port_socket_write().
...
NXT_PORT_MSG_LAST - mark message as last;
NXT_PORT_MSG_CLOSE_FD - close fd right after send;
Type constants altered to include last flag for single buffer messages.
Last sign is critical for coming port RPC layer. Handlers unregistered on last
message. Create sync buffer is not convenient, extra parameter is better.
2017-08-02 13:10:48 +03:00
Valentin Bartenev
578cd547c0
Fixed building without debug.
2017-07-21 15:20:45 +03:00
Max Romanov
b0c1e740cf
New process port exchange changed. READY message type introduced.
...
Application process start request DATA message from router to master.
Master notifies router via NEW_PORT message after worker process become ready.
2017-07-12 20:32:16 +03:00
Valentin Bartenev
c38bcb7d70
Controller: proper reconfiguration requests handling.
...
Now controller serializes all reconfiguration requests
and waits for result from router.
2017-07-12 20:21:17 +03:00
Valentin Bartenev
c0674de78d
Controller: passing full configuration to router.
2017-07-10 17:55:44 +03:00
Valentin Bartenev
c9fbd832ab
Controller: sending JSON configuration to router.
2017-07-06 22:52:05 +03:00
Max Romanov
c56d2af3bc
Router: read configuration from port.
...
Controller: stub to send configuration from POST body "as is" to router.
2017-07-06 18:38:51 +03:00
Valentin Bartenev
842aa9ab46
Configuration: basic validation of schema.
2017-07-05 18:44:43 +03:00
Max Romanov
f3107f3896
Complex target parser copied from NGINX.
...
nxt_app_request_header_t fields renamed:
- 'path' renamed to 'target'.
- 'path_no_query' renamed to 'path' and contains parsed value.
2017-07-05 13:31:45 +03:00
Valentin Bartenev
e4afc6ae98
Controller: fixed reading of request body.
2017-06-28 22:48:13 +03:00
Valentin Bartenev
53074c3b29
Configuration: reduced names of structures, functions, and macros.
2017-06-28 18:56:33 +03:00
Igor Sysoev
d8f371dde9
Setting listen socket fields lost in changeset 10688b89aa16.
2017-06-28 15:16:28 +03:00
Valentin Bartenev
9399a04121
Configuration printing functions splitted in two parts.
...
Requested by Igor.
2017-06-23 23:28:37 +03:00
Valentin Bartenev
72429410f7
Renames and reordering of parameters in configuration parser functions.
...
Requested by Igor.
2017-06-23 20:54:07 +03:00
Valentin Bartenev
accb489492
HTTP parser: reduced memory consumption of header fields list.
2017-06-20 22:32:13 +03:00
Igor Sysoev
f888a5310c
Using new memory pool implementation.
2017-06-20 19:49:17 +03:00
Igor Sysoev
7574c64992
nxt_event_conn_... functions and structures have been renamed
...
to nxt_conn_...
2017-06-14 15:18:52 +03:00
Valentin Bartenev
db6642f374
HTTP parser: decoupled header fields processing.
2017-06-13 20:11:29 +03:00
Igor Sysoev
d0c72e0726
C99 style declaration of connection states.
2017-06-06 18:57:58 +03:00
Igor Sysoev
71c906a512
The controller did not work because of changes in the previous
...
changeset.
2017-06-06 18:53:15 +03:00
Valentin Bartenev
c0bf729c8e
Controller: support for partial PUT and DELETE operations.
2017-05-30 17:12:20 +03:00
Valentin Bartenev
5cca4b3ab7
Style and a trivial fix.
2017-05-26 20:30:51 +03:00
Valentin Bartenev
c7be5bd6ae
Controller: partial retrieving of configuration.
2017-05-18 20:40:19 +03:00