Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-10-04 | Port message fragmentation supported. | Max Romanov | 1 | -8/+28 | |
- Each sendmsg() transmits no more than port->max_size payload data. - Longer buffers are fragmented and send using multiple sendmsg() calls. - On receive side, buffers are connected in chain. - Number of handler calls is the same as number of nxt_port_socket_write() calls. - nxt_buf_make_plain() function introduced to make single plain buffer from the chain. | |||||
2017-10-04 | Introducing process use counter. | Max Romanov | 1 | -2/+7 | |
This helps to decouple process removal from port memory pool cleanups. | |||||
2017-10-04 | Introducing use counters for port and app. Thread safe port write. | Max Romanov | 1 | -5/+10 | |
Use counter helps to simplify logic around port and application free. Port 'post' function introduced to simplify post execution of particular function to original port engine's thread. Write message queue is protected by mutex which makes port write operation thread safe. | |||||
2017-10-04 | Using engine memiory pool for port write allocations. | Max Romanov | 1 | -2/+4 | |
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-09-25 | Style fixes. | Igor Sysoev | 1 | -4/+5 | |
2017-09-15 | Introducing named port message handlers to avoid misprints. | Max Romanov | 1 | -19/+14 | |
2017-09-15 | Introducing application timeout. | Max Romanov | 1 | -2/+18 | |
2017-09-10 | Configuration persistence. | Valentin Bartenev | 1 | -2/+98 | |
Now configuration survives server reloads. | |||||
2017-09-06 | Style fixes. | Igor Sysoev | 1 | -11/+11 | |
2017-09-05 | Using CSTRZ mapping type for go executable. | Max Romanov | 1 | -1/+1 | |
2017-09-05 | Introducing working_directory directive for applications. | Max Romanov | 1 | -0/+6 | |
2017-08-31 | nginext has been renamed to unit. | Igor Sysoev | 1 | -1/+1 | |
2017-08-31 | Introduced module compatibility vector. | Igor Sysoev | 1 | -0/+10 | |
2017-08-29 | The master process has been renamed to the main process. | Igor Sysoev | 1 | -68/+68 | |
2017-08-17 | The new module configuration interface. | Igor Sysoev | 1 | -12/+165 | |
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-16 | Object mapping interface extended with more string types. | Valentin Bartenev | 1 | -1/+1 | |
2017-08-11 | Controller: more HTTP headers and detailed JSON parsing errors. | Valentin Bartenev | 1 | -1/+1 | |
2017-08-04 | Fixed building without debug after c1ae75b4e17c and 6281674ecf4f. | Valentin Bartenev | 1 | -5/+2 | |
2017-08-04 | Fixed building by GCC. | Igor Sysoev | 1 | -1/+1 | |
2017-08-02 | Listening socket creation and binding operations are passed | Igor Sysoev | 1 | -0/+197 | |
to the master process. | |||||
2017-08-02 | Added basic port error handler. | Max Romanov | 1 | -2/+2 | |
2017-08-02 | Runtime processes protected with mutex. | Max Romanov | 1 | -2/+4 | |
2017-08-02 | Implicit port read buffer completion. | Max Romanov | 1 | -3/+0 | |
To disable implicit completion, handler should reset msg->buf field. | |||||
2017-08-02 | Using port rpc in router->master start worker request. | Max Romanov | 1 | -18/+31 | |
2017-08-02 | Port RPC interface introduced. | Max Romanov | 1 | -0/+2 | |
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-07-19 | Fixed a bug introduced in the changeset 9585902ff351. | Igor Sysoev | 1 | -1/+1 | |
2017-07-19 | The master process title has been renamed to "main" process. | Igor Sysoev | 1 | -3/+7 | |
The command line is enclosed in brackets. | |||||
2017-07-19 | Removed "process" word from process title. | Igor Sysoev | 1 | -4/+3 | |
2017-07-18 | Added application name in process title. | Igor Sysoev | 1 | -13/+32 | |
2017-07-18 | Mem pool cleanup introduced. | Max Romanov | 1 | -4/+3 | |
Used for connection mem pool cleanup, which can be used by buffers. Used for port mem pool to safely destroy linked process. | |||||
2017-07-18 | Port allocation and destroy changed. Worker process stop introduced. | Max Romanov | 1 | -4/+7 | |
2017-07-14 | Fixed the previous commit. | Valentin Bartenev | 1 | -5/+11 | |
2017-07-14 | Null-terminated user and group. | Valentin Bartenev | 1 | -8/+19 | |
2017-07-12 | New process port exchange changed. READY message type introduced. | Max Romanov | 1 | -37/+166 | |
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 | Controller: proper reconfiguration requests handling. | Valentin Bartenev | 1 | -1/+1 | |
Now controller serializes all reconfiguration requests and waits for result from router. | |||||
2017-07-07 | Process stop notification from master to all other processes. | Max Romanov | 1 | -3/+17 | |
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-06 | Router: read configuration from port. | Max Romanov | 1 | -1/+1 | |
Controller: stub to send configuration from POST body "as is" to router. | |||||
2017-06-23 | Application-side message processing. | Max Romanov | 1 | -1/+1 | |
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 | nxt_process_create() changed to add process to runtime before callbacks. | Max Romanov | 1 | -10/+1 | |
2017-06-20 | Using new memory pool implementation. | Igor Sysoev | 1 | -8/+8 | |
2017-05-12 | Using shared memory to send data via nxt_port. | Max Romanov | 1 | -44/+37 | |
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-03-14 | Fixed building on FreeBSD. | Igor Sysoev | 1 | -1/+1 | |
2017-03-09 | Processes refactoring. | Igor Sysoev | 1 | -314/+166 | |
The cycle has been renamed to the runtime. | |||||
2017-02-22 | Port changes. | Igor Sysoev | 1 | -45/+47 | |
2017-02-22 | I/O operations refactoring. | Igor Sysoev | 1 | -2/+2 | |
2017-02-07 | Event engines refactoring. | Igor Sysoev | 1 | -1/+1 | |
2017-02-01 | Process channels have been renamed to ports. | Igor Sysoev | 1 | -20/+20 | |
2017-02-01 | More refactoring relicts removed. | Igor Sysoev | 1 | -5/+4 | |
2017-01-31 | Event engine timers refactoring. | Igor Sysoev | 1 | -1/+0 | |
2017-01-30 | nxt_event_timer has been renamed to nxt_timer. | Igor Sysoev | 1 | -2/+2 | |