Loading src/quic.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -7076,10 +7076,7 @@ void quic::processClientHello(const std::vector<uint8_t>& msg) { uint8_t proto_len = msg[alpn_off++]; if (alpn_off + proto_len <= alpn_end && alpn_off + proto_len <= offset + ext_data_len) { std::string proto(msg.begin() + alpn_off, msg.begin() + alpn_off + proto_len); if (proto == "h3" || proto == "h3-29") { _selected_alpn = proto; break; // Use first h3 protocol found } _selected_alpn = selectStreamProtocol(std::string proto) { return -1; }; alpn_off += proto_len; } } Loading src/socket.h +2 −0 Original line number Diff line number Diff line Loading @@ -874,6 +874,8 @@ namespace netplus { bool isStreamComplete(uint64_t stream_id) const; bool isStreamReset(uint64_t stream_id) const; virtual std::string selectStreamProtocol(std::string proto) { return -1; } // Abort a stream abnormally (RFC 9000 §19.4 RESET_STREAM). Use this // instead of sendStreamData(..., fin=true) when the body falls short // of the advertised Content-Length, so the peer sees a failed Loading Loading
src/quic.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -7076,10 +7076,7 @@ void quic::processClientHello(const std::vector<uint8_t>& msg) { uint8_t proto_len = msg[alpn_off++]; if (alpn_off + proto_len <= alpn_end && alpn_off + proto_len <= offset + ext_data_len) { std::string proto(msg.begin() + alpn_off, msg.begin() + alpn_off + proto_len); if (proto == "h3" || proto == "h3-29") { _selected_alpn = proto; break; // Use first h3 protocol found } _selected_alpn = selectStreamProtocol(std::string proto) { return -1; }; alpn_off += proto_len; } } Loading
src/socket.h +2 −0 Original line number Diff line number Diff line Loading @@ -874,6 +874,8 @@ namespace netplus { bool isStreamComplete(uint64_t stream_id) const; bool isStreamReset(uint64_t stream_id) const; virtual std::string selectStreamProtocol(std::string proto) { return -1; } // Abort a stream abnormally (RFC 9000 §19.4 RESET_STREAM). Use this // instead of sendStreamData(..., fin=true) when the body falls short // of the advertised Content-Length, so the peer sees a failed Loading