summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2017-06-23Renames and reordering of parameters in configuration parser functions.Valentin Bartenev3-261/+278
Requested by Igor.
2017-06-23Incoming and outgoing port_mmap arrays are protected with mutexes.Max Romanov4-21/+33
2017-06-23Increased size of iovec when data passed using shared memory.Max Romanov1-2/+4
Useful for tiny shared memory segment test case.
2017-06-23Added basic HTTP request processing in router.Max Romanov9-33/+563
- request to connection mapping in engine; - requests queue in connection; - engine port creation; - connected ports hash for each process; - engine port data messages processing (app responses);
2017-06-23External Go app request processing.Max Romanov26-1/+2334
2017-06-23PHP app request processing.Max Romanov6-275/+499
2017-06-23Python app request processing.Max Romanov3-255/+328
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 Romanov4-232/+393
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 Romanov6-102/+190
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 Bartenev4-156/+162
2017-06-20Fixed errors in the previous changeset.Igor Sysoev1-11/+11
2017-06-20Using new memory pool implementation.Igor Sysoev72-1326/+350
2017-06-20Fixed error in the previous changeset.Igor Sysoev1-0/+2
2017-06-19Memory pools refactoring.Igor Sysoev17-937/+1133
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev37-2010/+1923
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 Bartenev4-252/+395
2017-06-09HTTP parser: fixed handling header fields with missing colon.Valentin Bartenev2-1/+15
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 Sysoev21-261/+1447
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-12Fixed building test on SolarisMax Romanov2-2/+2
2017-05-12Using shared memory to send data via nxt_port.Max Romanov19-181/+1501
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);