diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-11 16:46:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-11 16:46:31 +0000 |
commit | e0d38508fc8b6bc3915b2235a85a068eacfb87bf (patch) | |
tree | 75de5a3a58d59b983ce82cde4f631a318cd6f13f /src/shrpx_quic_listener.cc | |
parent | Releasing progress-linux version 1.61.0-1~progress7.99u1. (diff) | |
download | nghttp2-e0d38508fc8b6bc3915b2235a85a068eacfb87bf.tar.xz nghttp2-e0d38508fc8b6bc3915b2235a85a068eacfb87bf.zip |
Merging upstream version 1.62.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shrpx_quic_listener.cc')
-rw-r--r-- | src/shrpx_quic_listener.cc | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/shrpx_quic_listener.cc b/src/shrpx_quic_listener.cc index 681f605..cf15e2f 100644 --- a/src/shrpx_quic_listener.cc +++ b/src/shrpx_quic_listener.cc @@ -106,10 +106,10 @@ void QUICListener::on_read() { gso_size = static_cast<size_t>(nread); } - auto data = buf.data(); + auto data = std::span{std::begin(buf), static_cast<size_t>(nread)}; for (;;) { - auto datalen = std::min(static_cast<size_t>(nread), gso_size); + auto datalen = std::min(data.size(), gso_size); ++pktcnt; @@ -131,14 +131,12 @@ void QUICListener::on_read() { remote_addr.len = msg.msg_namelen; quic_conn_handler->handle_packet(faddr_, remote_addr, local_addr, pi, - data, datalen); + {std::begin(data), datalen}); - nread -= datalen; - if (nread == 0) { + data = data.subspan(datalen); + if (data.empty()) { break; } - - data += datalen; } } } |