Make CreateIncomingStream() to take PendingStream* instead of PendingStream. PendingStream* will be passed to create QuicStream.
non const pointer is used because sequencer and flow controller need to be transferred to QuicStream.
This reduces uses of std::move().
gfe-relnote: refactor. No behavior change. Not flag protected.
PiperOrigin-RevId: 250575271
Change-Id: I8a2897d8a8d76a3da5096bc6d643afe704125433
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index e2996db..7d7350c 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -117,8 +117,8 @@
StreamType type)
: QuicStream(id, session, is_static, type) {}
- TestStream(PendingStream pending, StreamType type)
- : QuicStream(std::move(pending), type, /*is_static=*/false) {}
+ TestStream(PendingStream* pending, StreamType type)
+ : QuicStream(pending, type, /*is_static=*/false) {}
using QuicStream::CloseReadSide;
using QuicStream::CloseWriteSide;
@@ -204,13 +204,12 @@
return stream;
}
- TestStream* CreateIncomingStream(PendingStream pending) override {
- QuicStreamId id = pending.id();
- TestStream* stream =
- new TestStream(std::move(pending),
- DetermineStreamType(
- id, connection()->transport_version(), perspective(),
- /*is_incoming=*/true, BIDIRECTIONAL));
+ TestStream* CreateIncomingStream(PendingStream* pending) override {
+ QuicStreamId id = pending->id();
+ TestStream* stream = new TestStream(
+ pending, DetermineStreamType(id, connection()->transport_version(),
+ perspective(),
+ /*is_incoming=*/true, BIDIRECTIONAL));
ActivateStream(QuicWrapUnique(stream));
++num_incoming_streams_created_;
return stream;
@@ -223,7 +222,7 @@
struct iovec iov;
if (pending->sequencer()->GetReadableRegion(&iov)) {
// Create TestStream once the first byte is received.
- CreateIncomingStream(std::move(*pending));
+ CreateIncomingStream(pending);
return true;
}
return false;