summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-06-23External Go app request processing.Max Romanov21-0/+2270
2017-06-23PHP app request processing.Max Romanov1-275/+419
2017-06-23Python app request processing.Max Romanov1-238/+315
2017-06-23Application-side message processing.Max Romanov6-765/+520
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-23Added mem_pool pointer member to nxt_port_send_msg_t.Max Romanov2-1/+3
To decouple nxt_port_send_msg_t from port.
2017-06-23Moved message size to nxt_port_recv_msg_t for convenience.Max Romanov4-35/+17
2017-06-23Extruded nxt_port_send_port() to send port to one process.Max Romanov2-26/+36
2017-06-23Store pointer to shared memory start in buf->parent.Max Romanov3-232/+392
nxt_port_mmap_t stored in arrays and it is unsafe to store pointer to array element. Shared memory structures and macros moved to separate header file to be used by GO package.
2017-06-23Store mem_pool in buf->data instead of port for consistency.Max Romanov2-18/+38
2017-06-23nxt_process_create() changed to add process to runtime before callbacks.Max Romanov3-16/+21
2017-06-23nxt_port_create() use task instead of thread.Max Romanov3-6/+6
Write socket close() call moved out from nxt_port_create().
2017-06-23Shorter shared memory name generated.Max Romanov1-2/+2
2017-06-23lvlhash for ports moved to separate files for future re-use.Max Romanov5-102/+187
2017-06-23Runtime ports fix, add enumeration macros.Max Romanov2-3/+35
2017-06-23Configuration: fixed parsing of JSON literals.Valentin Bartenev1-3/+3
2017-06-23Style and comment fixes.Igor Sysoev3-4/+4
2017-06-21Removed surplus type casting from nxt_memcmp() calls.Valentin Bartenev3-11/+5
2017-06-21Fixed building by GCC 4.8 and older.Valentin Bartenev1-0/+6
2017-06-21Optimizations in nxt_mp_create().Igor Sysoev1-15/+11
2017-06-21Fixed building with -DNXT_DEBUG_MEMORY=1 (broken in 10688b89aa16).Igor Sysoev1-67/+67
2017-06-20HTTP parser: reduced memory consumption of header fields list.Valentin Bartenev3-95/+118
2017-06-20Using new memory pool implementation.Igor Sysoev70-1317/+345
2017-06-20Fixed error in the previous changeset.Igor Sysoev1-0/+2
2017-06-19Memory pools refactoring.Igor Sysoev11-833/+1021
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev36-2002/+1915
to nxt_conn_...
2017-06-14Router: follow up to HTTP parser changes.Igor Sysoev1-0/+6
2017-06-13HTTP parser: decoupled header fields processing.Valentin Bartenev3-200/+248
2017-06-09HTTP parser: fixed handling header fields with missing colon.Valentin Bartenev1-1/+3
2017-06-09Fixed building by GCC 7 (broken in 0b10a73d4993).Valentin Bartenev1-3/+1
2017-06-09Fixed building with epoll (broken in 92b4984ca3c1).Valentin Bartenev1-1/+1
2017-06-06C99 style declaration of connection states.Igor Sysoev9-158/+81
2017-06-06Optimization of kqueue event processing on connection close.Igor Sysoev1-3/+12
2017-06-06The controller did not work because of changes in the previousIgor Sysoev2-2/+2
changeset.
2017-05-31Skeleton of router configuration and request processing.Igor Sysoev20-261/+1445
2017-05-31HTTP parser: changed style of a comment.Valentin Bartenev1-4/+4
As requested by Igor.
2017-05-30Controller: support for partial PUT and DELETE operations.Valentin Bartenev3-71/+539
2017-05-29A small rbtree delete fixup optimization.Igor Sysoev1-2/+2
Setting node color to black is not required here because it is already black. Besides in the original algorithm the node pointer is discarded and the node is set to tree root just to quit the loop. Thanks to 洪志道 (Hong Zhi Dao).
2017-05-26Style and a trivial fix.Valentin Bartenev3-4/+4
2017-05-26A small rbtree insert fixup optimization.Igor Sysoev1-4/+9
Thanks to 洪志道 (Hong Zhi Dao).
2017-05-23Optimized internal representation of JSON objects and arrays.Valentin Bartenev2-178/+266
2017-05-18Controller: partial retrieving of configuration.Valentin Bartenev3-6/+61
2017-05-16Controller: pretty-printing of JSON responses.Valentin Bartenev3-50/+184
2017-05-15Controller: trivial abilities to save and request configuration.Valentin Bartenev3-48/+109
Now you can get current configuration with: $ curl 127.0.0.1:8443 and put new configuration with: $ curl -X PUT -d @conf.json 127.0.0.1:8443
2017-05-12Using shared memory to send data via nxt_port.Max Romanov16-181/+1438
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-12Fixed error introduced in rev d3dfd7c497e8.Igor Sysoev1-0/+1
2017-05-10Added missing "fall through" comments to make GCC 7 happy.Valentin Bartenev2-0/+5
2017-04-25HTTP parser: fixed minimum length optimization in headers hash.Valentin Bartenev1-4/+7
2017-04-21Macros for atomic 'OR' and 'AND' operations introduced.Max Romanov1-0/+17
Compiler built-ins used, where possible. Necessary configure checks added. New macros: nxt_atomic_or_fetch(ptr, val) nxt_atomic_and_fetch(ptr, val) Syntax and behaviour is similar to __sync_or_and_fetch and __sync_and_and_fetch GCC build-ins.
2017-04-10Fixed overflow detection in number parsing functions.Valentin Bartenev1-48/+52
2017-04-11The nxt_expect() macro.Valentin Bartenev1-2/+10