History log of /unit/src/nxt_conn_read.c (Results 1 – 9 of 9)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 1.21.0-1, 1.21.0, 1.20.0-1, 1.20.0, 1.19.0-1, 1.19.0, 1.18.0-1, 1.18.0, 1.17.0-1, 1.17.0, 1.16.0-1, 1.16.0, 1.15.0-1, 1.15.0, 1.14.0-1, 1.14.0, 1.13.0-1, 1.13.0
# 1268:dc403927ab0b 14-Nov-2019 Igor Sysoev

Using event engine memory buffers in HTTP/1 layer.


Revision tags: 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0, 1.10.0-2, 1.10.0-1, 1.10.0, 1.9.0-1, 1.9.0, 1.8.0-1, 1.8.0
# 979:7037bef7b9b0 28-Feb-2019 Igor Sysoev

Fixed timer and event race condition.

When idle timeout occurs at the same time as a request comes in,
the timer handler closes connection while the read event triggers
request processing, and this

Fixed timer and event race condition.

When idle timeout occurs at the same time as a request comes in,
the timer handler closes connection while the read event triggers
request processing, and this eventually leads to segmentation fault.

show more ...


Revision tags: 1.7.1-1, 1.7.1, 1.7-1, 1.7, 1.6-1, 1.6
# 836:ecd3c5bbf7d8 13-Nov-2018 Igor Sysoev

Checking error states in I/O handlers.


Revision tags: 1.5-1, 1.5
# 809:406d3303632e 22-Oct-2018 Valentin Bartenev

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

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.

show more ...


Revision tags: 1.4-2, 1.4
# 771:f349b2d68e75 20-Sep-2018 Igor Sysoev

Added SSL/TLS support on connection level.


# 766:3ef71e325c4a 17-Sep-2018 Igor Sysoev

Fixed non-auto-reset timers.


# 741:8856c08e95aa 30-Jul-2018 Igor Sysoev

Fixed segfault on listening socket close.

Now keep-alive connection sends 408 response if listening
socket was closed while reconfiguration.


Revision tags: 1.3, 1.2, 1.1, 1.0
# 629:b3e55c647741 11-Apr-2018 Igor Sysoev

Introducing connection state io_read_handler.


Revision tags: 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1
# 62:5e1efcc7b740 14-Jun-2017 Igor Sysoev

nxt_event_conn_... functions and structures have been renamed
to nxt_conn_...