Mercurial > hg > nginx
changeset 8855:9ae239d2547d quic
QUIC: separate event handling functions.
The functions ngx_quic_handle_read_event() and ngx_quic_handle_write_event()
are added. Previously this code was a part of ngx_handle_read_event() and
ngx_handle_write_event().
The change simplifies ngx_handle_read_event() and ngx_handle_write_event()
by moving QUIC-related code to a QUIC source file.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 09 Sep 2021 16:55:00 +0300 |
parents | 7416d3b2fac5 |
children | 6a383020d61e |
files | src/event/ngx_event.c src/event/quic/ngx_event_quic.h src/event/quic/ngx_event_quic_streams.c |
diffstat | 3 files changed, 37 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/ngx_event.c Thu Sep 16 13:13:22 2021 +0300 +++ b/src/event/ngx_event.c Thu Sep 09 16:55:00 2021 +0300 @@ -273,15 +273,7 @@ c = rev->data; if (c->quic) { - - if (!rev->active && !rev->ready) { - rev->active = 1; - - } else if (rev->active && (rev->ready || (flags & NGX_CLOSE_EVENT))) { - rev->active = 0; - } - - return NGX_OK; + return ngx_quic_handle_read_event(rev, flags); } #endif @@ -358,28 +350,18 @@ c = wev->data; +#if (NGX_QUIC) + if (c->quic) { + return ngx_quic_handle_write_event(wev, lowat); + } +#endif + if (lowat) { if (ngx_send_lowat(c, lowat) == NGX_ERROR) { return NGX_ERROR; } } -#if (NGX_QUIC) - - if (c->quic) { - - if (!wev->active && !wev->ready) { - wev->active = 1; - - } else if (wev->active && wev->ready) { - wev->active = 0; - } - - return NGX_OK; - } - -#endif - if (ngx_event_flags & NGX_USE_CLEAR_EVENT) { /* kqueue, epoll */
--- a/src/event/quic/ngx_event_quic.h Thu Sep 16 13:13:22 2021 +0300 +++ b/src/event/quic/ngx_event_quic.h Thu Sep 09 16:55:00 2021 +0300 @@ -93,6 +93,8 @@ const char *reason); ngx_int_t ngx_quic_reset_stream(ngx_connection_t *c, ngx_uint_t err); uint32_t ngx_quic_version(ngx_connection_t *c); +ngx_int_t ngx_quic_handle_read_event(ngx_event_t *rev, ngx_uint_t flags); +ngx_int_t ngx_quic_handle_write_event(ngx_event_t *wev, size_t lowat); ngx_int_t ngx_quic_get_packet_dcid(ngx_log_t *log, u_char *data, size_t len, ngx_str_t *dcid); ngx_int_t ngx_quic_derive_key(ngx_log_t *log, const char *label,
--- a/src/event/quic/ngx_event_quic_streams.c Thu Sep 16 13:13:22 2021 +0300 +++ b/src/event/quic/ngx_event_quic_streams.c Thu Sep 09 16:55:00 2021 +0300 @@ -1470,3 +1470,31 @@ return NGX_OK; } + + +ngx_int_t +ngx_quic_handle_read_event(ngx_event_t *rev, ngx_uint_t flags) +{ + if (!rev->active && !rev->ready) { + rev->active = 1; + + } else if (rev->active && (rev->ready || (flags & NGX_CLOSE_EVENT))) { + rev->active = 0; + } + + return NGX_OK; +} + + +ngx_int_t +ngx_quic_handle_write_event(ngx_event_t *wev, size_t lowat) +{ + if (!wev->active && !wev->ready) { + wev->active = 1; + + } else if (wev->active && wev->ready) { + wev->active = 0; + } + + return NGX_OK; +}