/unit/src/ |
H A D | nxt_thread.c | diff 735:3f7538f0681a Fri Jul 27 13:53:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> Refactored thread ID functions.
nxt_thread_tid() was moved to src/nxt_thread.c nxt_thread_get_tid() was moved to src/nxt_thread_id.h. src/nxt_thread_id.c was removed.
|
H A D | nxt_types.h | diff 703:2d536dde84d2 Mon Jun 25 13:51:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Introduced nxt_length() macro. diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|
H A D | nxt_utf8.h | diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|
H A D | nxt_websocket.h | 1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
|
H A D | nxt_sendbuf.c | diff 1269:41331471eee7 Thu Nov 14 13:39:00 UTC 2019 Igor Sysoev <igor@sysoev.ru> Introduced chained buffer completion handlers. diff 608:d756231f2cb3 Tue Apr 03 13:28:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> HTTP: using r->mem_pool retention counter for response buffers. diff 431:5817734dd9b9 Thu Dec 28 13:01:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> HTTP keep-alive connections support. diff 13:3a52b2c3d3f1 Wed Feb 22 12:09:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> I/O operations refactoring.
|
H A D | nxt_sha1.c | 1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
|
H A D | nxt_timer.c | diff 811:d0d9acf87625 Mon Oct 22 13:04:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Handling of timers with bias.
Timers that don't require maximum precision (most of them, actually) can be triggered earlier or later within the bias interval.
To reduce wakeups by timers, the expire function now triggers not only all timers that fall within the elapsed time, but also those whose bias falls within this interval. diff 810:5d0edd35c4ce Mon Oct 22 13:02:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Timers: separation of delete and insert operations on rbtree.
Delete/insert operation complexity for a red-black tree is O(log n), where n is the total number of tree elements.
If all delete operations are performed before all insert operations, the average number of tree elements during an operation will be lower than in the mixed-operations case. diff 809:406d3303632e Mon Oct 22 13:01:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Re-engineered timers.
To optimize rbtree operations, all changes are stored in array and later processed in batches.
The previous implementation of this mechanics had a number of design flaws. Each change was saved in a new array entry; until the changes were applied, the timer remained in an intermediate state (NXT_TIMER_CHANGING). This intermediate state didn't allow to identify if time was going to be disabled or enabled. However, the nxt_conn_io_read() function relied on this information; as a result, in some cases the read timeout wasn't set.
Also, the nxt_timer_delete() function did not reliably track whether a timer was added to the work queue. It checked the NXT_TIMER_ENQUEUED state of a timer, but this state could be reset to NXT_TIMER_DISABLED by a nxt_timer_disable() call or another nxt_timer_delete() call.
Now, instead of keeping the whole history of the timer's changes, the new implementation updates the timer state immediately, and only one operation is added to the array to add or delete timer in the rbtree according to its final state. 6:6b3ce47b7663 Mon Jan 30 13:47:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> nxt_event_timer has been renamed to nxt_timer.
|
H A D | nxt_unicode_macosx_lowcase.h | diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|
H A D | nxt_unit_field.h | diff 1270:9efa309be18b Thu Nov 14 13:39:00 UTC 2019 Igor Sysoev <igor@sysoev.ru> Initial proxy support.
|
H A D | nxt_unit_typedefs.h | diff 1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
|
H A D | nxt_unit_websocket.h | 1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
|
H A D | nxt_upstream.h | diff 13:3a52b2c3d3f1 Wed Feb 22 12:09:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> I/O operations refactoring.
|
H A D | nxt_upstream_round_robin.c | diff 13:3a52b2c3d3f1 Wed Feb 22 12:09:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> I/O operations refactoring.
|
H A D | nxt_utf8.c | diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|
H A D | nxt_unicode_lowcase.h | diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|
H A D | nxt_spinlock.c | diff 765:7b63756a81a4 Mon Sep 17 13:37:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> Removed deprecated MacOSX OSSpinLockLock().
|
H A D | nxt_timer.h | diff 811:d0d9acf87625 Mon Oct 22 13:04:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Handling of timers with bias.
Timers that don't require maximum precision (most of them, actually) can be triggered earlier or later within the bias interval.
To reduce wakeups by timers, the expire function now triggers not only all timers that fall within the elapsed time, but also those whose bias falls within this interval. diff 809:406d3303632e Mon Oct 22 13:01:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Re-engineered timers.
To optimize rbtree operations, all changes are stored in array and later processed in batches.
The previous implementation of this mechanics had a number of design flaws. Each change was saved in a new array entry; until the changes were applied, the timer remained in an intermediate state (NXT_TIMER_CHANGING). This intermediate state didn't allow to identify if time was going to be disabled or enabled. However, the nxt_conn_io_read() function relied on this information; as a result, in some cases the read timeout wasn't set.
Also, the nxt_timer_delete() function did not reliably track whether a timer was added to the work queue. It checked the NXT_TIMER_ENQUEUED state of a timer, but this state could be reset to NXT_TIMER_DISABLED by a nxt_timer_disable() call or another nxt_timer_delete() call.
Now, instead of keeping the whole history of the timer's changes, the new implementation updates the timer state immediately, and only one operation is added to the array to add or delete timer in the rbtree according to its final state. 6:6b3ce47b7663 Mon Jan 30 13:47:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> nxt_event_timer has been renamed to nxt_timer.
|
H A D | nxt_sendbuf.h | diff 608:d756231f2cb3 Tue Apr 03 13:28:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> HTTP: using r->mem_pool retention counter for response buffers. diff 431:5817734dd9b9 Thu Dec 28 13:01:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> HTTP keep-alive connections support. diff 13:3a52b2c3d3f1 Wed Feb 22 12:09:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> I/O operations refactoring.
|
H A D | nxt_sha1.h | 1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
|
H A D | nxt_solaris_sendfilev.c | diff 13:3a52b2c3d3f1 Wed Feb 22 12:09:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> I/O operations refactoring.
|
H A D | nxt_spinlock.h | diff 765:7b63756a81a4 Mon Sep 17 13:37:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> Removed deprecated MacOSX OSSpinLockLock().
|
H A D | nxt_port_rpc.h | diff 583:39771486d997 Wed Mar 21 13:55:00 UTC 2018 Max Romanov <max.romanov@nginx.com> Triggering RPC error for all handlers on port close.
This is required to avoid crashes and memory leaks on Unit exit.
|
H A D | nxt_random.c | diff 703:2d536dde84d2 Mon Jun 25 13:51:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Introduced nxt_length() macro. diff 677:91cde03ec16c Fri May 25 13:18:00 UTC 2018 Sergey Kandaurov <pluknet@nginx.com> Fixed a dead store.
Found by Clang Static Analyzer.
|
/unit/src/test/ |
H A D | nxt_lvlhsh_test.c | diff 598:70677ad404c1 Thu Mar 29 13:35:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> nxt_lvlhsh_each() refactoring and nxt_lvlhsh_each_init(). diff 595:686246c79c5a Thu Mar 29 13:35:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> nxt_lvlhsh_retrieve(). diff 594:c89b29f038c4 Thu Mar 29 13:35:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> nxt_lvlhsh_peek().
|
H A D | nxt_msec_diff_test.c | diff 611:323e11065f83 Wed Apr 04 15:13:00 UTC 2018 Valentin Bartenev <vbart@nginx.com> Style: capitalized letters in hexadecimal literals.
|