Merge pull request #2339 from nghttp2/adopt-span-first

nghttpx: Adopt std::span::first
This commit is contained in:
Tatsuhiro Tsujikawa
2025-05-01 17:36:08 +09:00
committed by GitHub
3 changed files with 7 additions and 8 deletions

View File

@@ -1858,9 +1858,8 @@ Http3Upstream::send_packet(const UpstreamAddr *faddr, const sockaddr *remote_sa,
if (tx_.no_gso) { if (tx_.no_gso) {
for (; !data.empty();) { for (; !data.empty();) {
auto len = std::min(gso_size, data.size()); auto len = std::min(gso_size, data.size());
auto rv = auto rv = quic_send_packet(faddr, remote_sa, remote_salen, local_sa,
quic_send_packet(faddr, remote_sa, remote_salen, local_sa, local_salen, local_salen, pi, data.first(len), gso_size);
pi, {std::begin(data), len}, gso_size);
if (rv != 0) { if (rv != 0) {
switch (rv) { switch (rv) {
case -EAGAIN: case -EAGAIN:

View File

@@ -558,7 +558,7 @@ int QUICConnectionHandler::send_version_negotiation(
return -1; return -1;
} }
auto pkt = std::span{std::begin(buf), static_cast<size_t>(nwrite)}; auto pkt = std::span{buf}.first(nwrite);
return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len, return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len,
&local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{}, &local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{},
pkt, pkt.size()); pkt, pkt.size());
@@ -634,7 +634,7 @@ int QUICConnectionHandler::send_stateless_reset(const UpstreamAddr *faddr,
<< " dcid=" << util::format_hex(dcid); << " dcid=" << util::format_hex(dcid);
} }
auto pkt = std::span{std::begin(buf), static_cast<size_t>(nwrite)}; auto pkt = std::span{buf}.first(nwrite);
return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len, return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len,
&local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{}, &local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{},
pkt, pkt.size()); pkt, pkt.size());
@@ -666,7 +666,7 @@ int QUICConnectionHandler::send_connection_close(
<< util::format_hex(std::span{ini_dcid.data, ini_dcid.datalen}); << util::format_hex(std::span{ini_dcid.data, ini_dcid.datalen});
} }
auto pkt = std::span{std::begin(buf), static_cast<size_t>(nwrite)}; auto pkt = std::span{buf}.first(nwrite);
return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len, return quic_send_packet(faddr, &remote_addr.su.sa, remote_addr.len,
&local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{}, &local_addr.su.sa, local_addr.len, ngtcp2_pkt_info{},
pkt, pkt.size()); pkt, pkt.size());

View File

@@ -106,7 +106,7 @@ void QUICListener::on_read() {
gso_size = static_cast<size_t>(nread); gso_size = static_cast<size_t>(nread);
} }
auto data = std::span{std::begin(buf), static_cast<size_t>(nread)}; auto data = std::span{buf}.first(nread);
for (;;) { for (;;) {
auto datalen = std::min(data.size(), gso_size); auto datalen = std::min(data.size(), gso_size);
@@ -131,7 +131,7 @@ void QUICListener::on_read() {
remote_addr.len = msg.msg_namelen; remote_addr.len = msg.msg_namelen;
quic_conn_handler->handle_packet(faddr_, remote_addr, local_addr, pi, quic_conn_handler->handle_packet(faddr_, remote_addr, local_addr, pi,
{std::begin(data), datalen}); data.first(datalen));
data = data.subspan(datalen); data = data.subspan(datalen);
if (data.empty()) { if (data.empty()) {