Commit Graph

2602 Commits

Author SHA1 Message Date
Valentin Bartenev
c0bf729c8e Controller: support for partial PUT and DELETE operations. 2017-05-30 17:12:20 +03:00
Igor Sysoev
f5c3b1c637 A small rbtree delete fixup optimization.
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-29 10:17:36 +03:00
Valentin Bartenev
5cca4b3ab7 Style and a trivial fix. 2017-05-26 20:30:51 +03:00
Igor Sysoev
4f9f463799 A small rbtree insert fixup optimization.
Thanks to 洪志道 (Hong Zhi Dao).
2017-05-26 19:12:47 +03:00
Valentin Bartenev
48155f3a49 Optimized internal representation of JSON objects and arrays. 2017-05-23 14:02:37 +03:00
Valentin Bartenev
c7be5bd6ae Controller: partial retrieving of configuration. 2017-05-18 20:40:19 +03:00
Valentin Bartenev
dc95b2f3de Controller: pretty-printing of JSON responses. 2017-05-16 22:02:01 +03:00
Valentin Bartenev
0ca2c2fce2 Controller: trivial abilities to save and request configuration.
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-15 22:39:53 +03:00
Max Romanov
952ec2e0ff Fixed building test on Solaris 2017-05-12 20:41:34 +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
1782c771fa Fixed error introduced in rev d3dfd7c497e8. 2017-05-12 15:42:23 +03:00
Valentin Bartenev
9d16e1808b Added one more missing "fall through" comment in tests. 2017-05-10 19:26:56 +03:00
Valentin Bartenev
ed38d86abb Added missing "fall through" comments to make GCC 7 happy. 2017-05-10 19:19:14 +03:00
Valentin Bartenev
558d1f8687 HTTP parser: fixed minimum length optimization in headers hash. 2017-04-25 16:57:14 +03:00
Max Romanov
cfed068c1d Macros for atomic 'OR' and 'AND' operations introduced.
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-21 16:55:13 +03:00
Valentin Bartenev
6e7f98d6ae Fixed overflow detection in number parsing functions. 2017-04-10 03:43:00 +03:00
Valentin Bartenev
e0881fd85c The nxt_expect() macro. 2017-04-11 19:28:23 +03:00
Igor Sysoev
60ae0314c0 Fixed building on MacOSX. 2017-04-11 15:59:17 +03:00
Valentin Bartenev
cddbab6312 JSON output in controller. 2017-04-11 00:29:47 +03:00
Valentin Bartenev
6af2d1cfc6 JSON parser: fixed missing initialization of short string length. 2017-04-11 00:29:29 +03:00
Valentin Bartenev
b01865c023 Style and micro-optimizations in JSON parsing. 2017-04-10 23:04:34 +03:00
Valentin Bartenev
3d9be969e7 Removed unused nxt_lvlhsh_ctx_t. 2017-04-10 17:25:52 +03:00
Valentin Bartenev
bf401fa544 JSON parsing in controller. 2017-04-10 17:06:22 +03:00
Igor Sysoev
3b8963da4d Event connection writing fixes. 2017-03-23 15:52:27 +03:00
Valentin Bartenev
e4e617469a Some basic HTTP handling in controller. 2017-03-16 16:28:31 +03:00
Igor Sysoev
e13cbdb439 Solaris compatibilty. 2017-03-14 19:52:57 +03:00
Igor Sysoev
5135fcea93 Adding CFLAGS to link commands to pass flags required by
AddressSanitizer.
2017-03-14 19:05:43 +03:00
Igor Sysoev
3a8a4744b8 Fixed building on FreeBSD. 2017-03-14 19:03:49 +03:00
Igor Sysoev
979108f0ef Importing memory cache pool changes from nJScript. 2017-03-14 19:02:30 +03:00
Igor Sysoev
aa047be6b9 Zero size memory pool allocations have been disabled in unit test
becuase they are handled incorrectly with the -DNXT_DEBUG_MEMORY=1
option.
2017-03-14 19:00:32 +03:00
Igor Sysoev
612c083579 Fixed unit tests building broken by the previous commit. 2017-03-14 15:09:17 +03:00
Igor Sysoev
6f2c9acd18 Processes refactoring.
The cycle has been renamed to the runtime.
2017-03-09 18:03:27 +03:00
Valentin Bartenev
5745e48264 More optimizations of HTTP parser.
SSE 4.2 code removed, since loop unrolling gives better results.
2017-03-08 00:38:52 +03:00
Valentin Bartenev
c69e4fb11a HTTP parser benchmark. 2017-03-08 00:28:26 +03:00
Valentin Bartenev
c624c9ea64 Cleanup of memory allocated in nxt_mem_cache_pool_unit_test().
Leak sanitizer is happy now.
2017-03-06 22:23:34 +03:00
Valentin Bartenev
4df646a258 HTTP parser. 2017-03-01 15:29:18 +03:00
Valentin Bartenev
fde4d18e3a Removed legacy HTTP parser. 2017-03-01 15:17:55 +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
6e67bee0f4 nxt_str_t changes. 2017-02-01 19:20:07 +03:00
Igor Sysoev
8942550b13 More refactoring relicts removed. 2017-02-01 15:07:23 +03:00
Igor Sysoev
d4d36c65fa Fixes of various issues introduced by refactoring. 2017-01-31 22:26:53 +03:00
Igor Sysoev
18281ee37e Event engine timers refactoring. 2017-01-31 22:26:50 +03:00
Igor Sysoev
bb87fa11ca nxt_event_timer has been renamed to nxt_timer. 2017-01-30 16:47:50 +03:00
Igor Sysoev
952291c93c Importing rbtree changes from nJScript. 2017-01-30 12:14:49 +03:00
Igor Sysoev
ba0391577b Work queues refactoring. 2017-01-27 11:35:11 +03:00
Igor Sysoev
6886b83c1f Now CFLAGS variable allows to overwrite configured options. 2017-01-24 19:25:32 +03:00
Igor Sysoev
4d3a5f24c1 Fixed Python building on Ubuntu. 2017-01-24 17:32:38 +03:00