summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-07-07Controller: relaxed JSON parser.Valentin Bartenev1-80/+72
Now it allows commas after the last elements in objects and arrays, as it's a common Igor's mistake.
2017-07-07Taken counter initialized for new pages.Max Romanov1-0/+1
Fixed crash in nxt_mp_get() when pages re-used and 'taken' contains initial 'map' value '0xFFFFFFFF'.
2017-07-07Memory pool thread safety checks in DEBUG build and usage fixes.Max Romanov6-16/+100
2017-07-07Work queue thread safety checks for DEBUG build.Max Romanov3-7/+44
2017-07-07Python initialization moved from master to worker application.Max Romanov1-94/+46
2017-07-07Process stop notification from master to all other processes.Max Romanov11-22/+113
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-07Cosmetic changes to remove some annoying valgrind messages.Max Romanov3-2/+12
2017-07-07Using engine's task instead of listen's task.Max Romanov1-0/+4
2017-07-07Redirecting buffer completion handler to specific engine.Max Romanov9-79/+236
There is a case in router where we use port in router connection thread. Buffers are allocated within connection memory pool which can be used only in this router thread. sendmsg() can be postponed into main router thread and completion handler will compare current engine and post itself to correct engine.
2017-07-06Controller: sending JSON configuration to router.Valentin Bartenev4-33/+288
2017-07-06Fixed mapping of int32_t in nxt_conf_map_object().Valentin Bartenev1-1/+1
2017-07-06Router: read configuration from port.Max Romanov6-19/+96
Controller: stub to send configuration from POST body "as is" to router.
2017-07-05An assertion on listening socket close.Igor Sysoev1-2/+5
2017-07-05By default a number of router worker threads is set to a numberIgor Sysoev1-0/+4
of CPUs.
2017-07-05Configuration: basic validation of schema.Valentin Bartenev4-53/+287
2017-07-05Router: processing JSON configuration.Igor Sysoev8-131/+445
2017-07-05PHP SAPI: SERVER_NAME, SERVER_PORT and REMOTE_ADDR introduced.Max Romanov1-79/+146
2017-07-05Python WSGI: SERVER_NAME, SERVER_PORT fixed, REMOTE_ADDR introduced.Max Romanov3-59/+92
Shortcut: do not iterate over String (or Bytes) return object. Call 'close()' for return object (if present).
2017-07-05Complex target parser copied from NGINX.Max Romanov9-54/+413
nxt_app_request_header_t fields renamed: - 'path' renamed to 'target'. - 'path_no_query' renamed to 'path' and contains parsed value.
2017-06-29Added nxt_msec_t element to nxt_conf_map_object().Igor Sysoev2-9/+16
2017-06-29Fixed port processing in nxt_sockaddr_text().Igor Sysoev2-5/+7
2017-06-29Using static and constant linger structure.Igor Sysoev2-16/+16
2017-06-28Fixed building on Solaris broken in changeset 4077decf847b.Igor Sysoev2-3/+3
2017-06-28Controller: fixed reading of request body.Valentin Bartenev1-13/+15
2017-06-28Configuration: reduced names of structures, functions, and macros.Valentin Bartenev3-376/+362
2017-06-28Fixed building with enabled IPv6 support.Igor Sysoev1-4/+4
2017-06-28JSON property iterator nxt_conf_json_object_next_member().Igor Sysoev2-0/+30
2017-06-28Setting listen socket fields lost in changeset 10688b89aa16.Igor Sysoev2-0/+4
2017-06-28Small optimization in nxt_sockaddr_text().Igor Sysoev1-13/+4
2017-06-27Fixed INET6 sockaddr processing in nxt_sockaddr_text().Igor Sysoev1-5/+8
2017-06-27Fixed Unix sockaddr processing in nxt_sockaddr_text().Igor Sysoev1-5/+2
2017-06-27nxt_sockaddr_parse() introducted.Igor Sysoev2-1/+208
2017-06-27Applied nxt_pointer_to() and nxt_value_at() where possible.Valentin Bartenev16-37/+28
2017-06-26Interface for mapping JSON configuration objects to C structures.Valentin Bartenev3-3/+148
2017-06-26Simplified nxt_conf_json_object_get_member().Valentin Bartenev1-7/+1
2017-06-26Double buf completion call on connection timeout fixed.Max Romanov1-5/+1
2017-06-26PHP post body processing fixed, default index name introduced.Max Romanov1-8/+32
2017-06-26Build on Solaris 11 fixed.Max Romanov6-7/+42
2017-06-23Configuration printing functions splitted in two parts.Valentin Bartenev3-162/+213
Requested by Igor.
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 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