@fails-components/webtransport-transport-http3-quiche 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CMakeLists.txt CHANGED
@@ -378,6 +378,8 @@ third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc
378
378
  third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.h
379
379
  third_party/quiche/quiche/quic/core/congestion_control/bbr2_startup.cc
380
380
  third_party/quiche/quiche/quic/core/congestion_control/bbr2_startup.h
381
+ third_party/quiche/quiche/quic/core/congestion_control/bbr3_sender.cc
382
+ third_party/quiche/quiche/quic/core/congestion_control/bbr3_sender.h
381
383
  third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.cc
382
384
  third_party/quiche/quiche/quic/core/congestion_control/bbr_sender.h
383
385
  third_party/quiche/quiche/quic/core/congestion_control/cubic_bytes.cc
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fails-components/webtransport-transport-http3-quiche",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "A component to add webtransport support (server and client) to node.js, transport using libquiche",
5
5
  "exports": {
6
6
  ".": {
@@ -79,15 +79,6 @@ namespace quic
79
79
  return stream;
80
80
  }
81
81
 
82
- QuicSpdyStream *Http3ServerSession::CreateIncomingStream(
83
- PendingStream *pending)
84
- {
85
- QuicSpdyStream *stream =
86
- new Http3ServerStream(pending, this, http3_server_backend_);
87
- ActivateStream(absl::WrapUnique(stream));
88
- return stream;
89
- }
90
-
91
82
  QuicSpdyStream *Http3ServerSession::CreateOutgoingBidirectionalStream()
92
83
  {
93
84
  if (!WillNegotiateWebTransport())
@@ -61,7 +61,6 @@ namespace quic
61
61
  protected:
62
62
  // QuicSession methods:
63
63
  QuicSpdyStream *CreateIncomingStream(QuicStreamId id) override;
64
- QuicSpdyStream *CreateIncomingStream(PendingStream *pending) override;
65
64
  QuicSpdyStream *CreateOutgoingBidirectionalStream() override;
66
65
 
67
66
  // QuicServerSessionBaseMethod:
@@ -48,7 +48,7 @@ namespace quic
48
48
  Http3ServerStream::Http3ServerStream(
49
49
  PendingStream *pending, QuicSpdySession *session,
50
50
  Http3ServerBackend *http3_server_backend)
51
- : QuicSpdyServerStreamBase(pending, session),
51
+ : QuicSpdyServerStreamBase(*pending, session),
52
52
  content_length_(-1),
53
53
  generate_bytes_length_(0),
54
54
  http3_server_backend_(http3_server_backend)
@@ -151,6 +151,7 @@ namespace quic
151
151
 
152
152
  void Http3ServerStream::SendResponse()
153
153
  {
154
+ if (fin_buffered()) return; // we already exited
154
155
  if (request_headers_.empty())
155
156
  {
156
157
  QUIC_DVLOG(1) << "Request headers empty.";
@@ -357,6 +358,7 @@ namespace quic
357
358
  void Http3ServerStream::SendNotFoundResponse()
358
359
  {
359
360
  QUIC_DVLOG(1) << "Stream " << id() << " sending not found response.";
361
+ if (fin_buffered()) return; // we already exited
360
362
  HttpHeaderBlock headers;
361
363
  headers[":status"] = "404";
362
364
  headers["content-length"] = absl::StrCat(strlen(kNotFoundResponseBody));
@@ -375,6 +377,7 @@ namespace quic
375
377
  {
376
378
  StopReading();
377
379
  }
380
+ if (fin_buffered()) return; // we already exited
378
381
  HttpHeaderBlock headers;
379
382
  if (resp_code <= 0)
380
383
  {
@@ -392,6 +395,7 @@ namespace quic
392
395
  HttpHeaderBlock response_headers,
393
396
  absl::string_view body)
394
397
  {
398
+ if (fin_buffered()) return; // we already exited
395
399
  QUIC_DLOG(INFO) << "Stream " << id() << " writing headers (fin = false) : "
396
400
  << response_headers.DebugString();
397
401
  WriteHeaders(std::move(response_headers), /*fin=*/false, nullptr);
@@ -410,6 +414,7 @@ namespace quic
410
414
  HttpHeaderBlock response_headers,
411
415
  absl::string_view body)
412
416
  {
417
+ if (fin_buffered()) return; // we already exited
413
418
  SendHeadersAndBodyAndTrailers(std::move(response_headers), body,
414
419
  HttpHeaderBlock());
415
420
  }
@@ -419,6 +424,7 @@ namespace quic
419
424
  absl::string_view body,
420
425
  HttpHeaderBlock response_trailers)
421
426
  {
427
+ if (fin_buffered()) return; // we already exited
422
428
  // Send the headers, with a FIN if there's nothing else to send.
423
429
  bool send_fin = (body.empty() && response_trailers.empty());
424
430
  QUIC_DLOG(INFO) << "Stream " << id() << " writing headers (fin = " << send_fin