Max Romanov
838d9946ac
Introducing named port message handlers to avoid misprints.
2017-09-15 20:30:34 +03:00
Valentin Bartenev
4953e5b5cb
Configuration persistence.
...
Now configuration survives server reloads.
2017-09-10 06:22:15 +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
Igor Sysoev
9d487df10d
The master process has been renamed to the main process.
2017-08-29 02:59:35 +03:00
Igor Sysoev
949548da29
The new module configuration interface.
...
Configuration and building example:
./configure
./configure python
./configure php
./configure go
make all
or
./configure
make nginext
./configure python
make python
./configure php
make php
./configure go
make go
Modules configuration options and building examples:
./configure python --module=python2 --config=python2.7-config
make python2
./configure php --module=php7 --config=php7.0-config
--lib-path=/usr/local/php7.0
make php7
./configure go --go=go1.6 --go-path=${HOME}/go1.6
make go1.6
2017-08-17 21:47:19 +03:00
Igor Sysoev
a94178a05e
Listening socket creation and binding operations are passed
...
to the master process.
2017-08-02 21:11:20 +03:00
Max Romanov
bcf99f87e2
Using port rpc in controller->router configuration update.
2017-08-02 13:20:57 +03:00
Max Romanov
82c0304ab8
Using port rpc in router->master start worker request.
2017-08-02 13:20:53 +03:00
Max Romanov
f2e9afdf42
Port RPC interface introduced.
...
Usage:
1. Register handlers in incoming port with nxt_port_rpc_register_handler().
2. Use return value as a stream identifier for next nxt_port_socket_write().
2017-08-02 13:14:31 +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
Max Romanov
74cda90e31
Process stop notification from master to all other processes.
...
New port message type introduced NXT_PORT_MSG_REMOVE_PID. Default handler
removes process description from nxt_runtime_t with all ports, incoming and
outgoing mmaps etc.
2017-07-07 16:01:34 +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
Max Romanov
e7a0634a71
Application-side message processing.
...
Usage on the router side:
nxt_app_wmsg_t wmsg;
nxt_app_parse_ctx_t parse_ctx;
nxt_app_http_req_init(task, &parse_ctx);
/* parse incoming request data */
if (nxt_app_http_req_parse(task, &parse_ctx, buf) == NXT_DONE) {
/* choose app */
nxt_app = nxt_select_app(... &parse_ctx.r ...);
/* find port */
wmsg.port = nxt_get_app_port(... nxt_app ...);
wmsg.buf = &wmsg.write;
/* fill write message buffer in shared mem */
nxt_app->prepare_msg(task, &parse_ctx.r, &wmsg);
/* send message to app for processing */
nxt_port_socket_write(task, wmsg.port, NXT_PORT_MSG_DATA,
-1, 0, 0, wmsg.write);
}
2017-06-23 19:20:08 +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
Max Romanov
f7b4bdfd89
Using shared memory to send data via nxt_port.
...
Usage:
b = nxt_port_mmap_get_buf(task, port, size);
b->mem.free = nxt_cpymem(b->mem.free, data, size);
nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
2017-05-12 20:32:41 +03:00
Igor Sysoev
6f2c9acd18
Processes refactoring.
...
The cycle has been renamed to the runtime.
2017-03-09 18:03:27 +03:00
Igor Sysoev
b379dae85e
Port changes.
2017-02-22 15:10:28 +03:00
Igor Sysoev
029942f4eb
I/O operations refactoring.
2017-02-22 15:09:59 +03:00
Igor Sysoev
059a864289
Event engines refactoring.
2017-02-07 20:04:56 +03:00
Igor Sysoev
e57b95a923
Process channels have been renamed to ports.
2017-02-01 20:03:45 +03:00
Igor Sysoev
8942550b13
More refactoring relicts removed.
2017-02-01 15:07:23 +03:00
Igor Sysoev
de532922d9
Introducing tasks.
2017-01-23 19:56:03 +03:00
Igor Sysoev
16cbf3c076
Initial version.
2017-01-17 20:00:00 +03:00