Update MoQT SUBSCRIBE_DONE to draft-11. PiperOrigin-RevId: 774776960
diff --git a/quiche/quic/moqt/moqt_framer.cc b/quiche/quic/moqt/moqt_framer.cc index b0eeaea..66fb3af 100644 --- a/quiche/quic/moqt/moqt_framer.cc +++ b/quiche/quic/moqt/moqt_framer.cc
@@ -527,9 +527,9 @@ quiche::QuicheBuffer MoqtFramer::SerializeSubscribeDone( const MoqtSubscribeDone& message) { return SerializeControlMessage( - MoqtMessageType::kSubscribeDone, WireVarInt62(message.subscribe_id), + MoqtMessageType::kSubscribeDone, WireVarInt62(message.request_id), WireVarInt62(message.status_code), WireVarInt62(message.stream_count), - WireStringWithVarInt62Length(message.reason_phrase)); + WireStringWithVarInt62Length(message.error_reason)); } quiche::QuicheBuffer MoqtFramer::SerializeSubscribeUpdate(
diff --git a/quiche/quic/moqt/moqt_messages.h b/quiche/quic/moqt/moqt_messages.h index 84633c7..d51237a 100644 --- a/quiche/quic/moqt/moqt_messages.h +++ b/quiche/quic/moqt/moqt_messages.h
@@ -608,10 +608,10 @@ }; struct QUICHE_EXPORT MoqtSubscribeDone { - uint64_t subscribe_id; + uint64_t request_id; SubscribeDoneCode status_code; uint64_t stream_count; - std::string reason_phrase; + std::string error_reason; }; struct QUICHE_EXPORT MoqtSubscribeUpdate {
diff --git a/quiche/quic/moqt/moqt_parser.cc b/quiche/quic/moqt/moqt_parser.cc index abcef72..710848c 100644 --- a/quiche/quic/moqt/moqt_parser.cc +++ b/quiche/quic/moqt/moqt_parser.cc
@@ -534,10 +534,10 @@ size_t MoqtControlParser::ProcessSubscribeDone(quic::QuicDataReader& reader) { MoqtSubscribeDone subscribe_done; uint64_t value; - if (!reader.ReadVarInt62(&subscribe_done.subscribe_id) || + if (!reader.ReadVarInt62(&subscribe_done.request_id) || !reader.ReadVarInt62(&value) || !reader.ReadVarInt62(&subscribe_done.stream_count) || - !reader.ReadStringVarInt62(subscribe_done.reason_phrase)) { + !reader.ReadStringVarInt62(subscribe_done.error_reason)) { return 0; } subscribe_done.status_code = static_cast<SubscribeDoneCode>(value);
diff --git a/quiche/quic/moqt/moqt_session.cc b/quiche/quic/moqt/moqt_session.cc index 23ae173..715413b 100644 --- a/quiche/quic/moqt/moqt_session.cc +++ b/quiche/quic/moqt/moqt_session.cc
@@ -627,9 +627,9 @@ "Peer did not close session after GOAWAY"); } -bool MoqtSession::SubscribeIsDone(uint64_t subscribe_id, SubscribeDoneCode code, - absl::string_view reason_phrase) { - auto it = published_subscriptions_.find(subscribe_id); +bool MoqtSession::SubscribeIsDone(uint64_t request_id, SubscribeDoneCode code, + absl::string_view error_reason) { + auto it = published_subscriptions_.find(request_id); if (it == published_subscriptions_.end()) { return false; } @@ -639,10 +639,10 @@ subscription.GetAllStreams(); MoqtSubscribeDone subscribe_done; - subscribe_done.subscribe_id = subscribe_id; + subscribe_done.request_id = request_id; subscribe_done.status_code = code; subscribe_done.stream_count = subscription.streams_opened(); - subscribe_done.reason_phrase = reason_phrase; + subscribe_done.error_reason = error_reason; SendControlMessage(framer_.SerializeSubscribeDone(subscribe_done)); QUIC_DLOG(INFO) << ENDPOINT << "Sent SUBSCRIBE_DONE message for " << subscription.publisher().GetTrackName(); @@ -1136,7 +1136,7 @@ void MoqtSession::ControlStream::OnSubscribeDoneMessage( const MoqtSubscribeDone& message) { - auto it = session_->upstream_by_id_.find(message.subscribe_id); + auto it = session_->upstream_by_id_.find(message.request_id); if (it == session_->upstream_by_id_.end()) { return; }
diff --git a/quiche/quic/moqt/moqt_session.h b/quiche/quic/moqt/moqt_session.h index b7e5301..8448d14 100644 --- a/quiche/quic/moqt/moqt_session.h +++ b/quiche/quic/moqt/moqt_session.h
@@ -614,8 +614,8 @@ // Private members of MoqtSession. // Returns true if SUBSCRIBE_DONE was sent. - bool SubscribeIsDone(uint64_t subscribe_id, SubscribeDoneCode code, - absl::string_view reason_phrase); + bool SubscribeIsDone(uint64_t request_id, SubscribeDoneCode code, + absl::string_view error_reason); void MaybeDestroySubscription(SubscribeRemoteTrack* subscribe); void DestroySubscription(SubscribeRemoteTrack* subscribe);
diff --git a/quiche/quic/moqt/test_tools/moqt_test_message.h b/quiche/quic/moqt/test_tools/moqt_test_message.h index 2f2dba9..de211c6 100644 --- a/quiche/quic/moqt/test_tools/moqt_test_message.h +++ b/quiche/quic/moqt/test_tools/moqt_test_message.h
@@ -704,8 +704,8 @@ bool EqualFieldValues(MessageStructuredData& values) const override { auto cast = std::get<MoqtSubscribeDone>(values); - if (cast.subscribe_id != subscribe_done_.subscribe_id) { - QUIC_LOG(INFO) << "SUBSCRIBE_DONE subscribe ID mismatch"; + if (cast.request_id != subscribe_done_.request_id) { + QUIC_LOG(INFO) << "SUBSCRIBE_DONE request ID mismatch"; return false; } if (cast.status_code != subscribe_done_.status_code) { @@ -716,8 +716,8 @@ QUIC_LOG(INFO) << "SUBSCRIBE_DONE stream count mismatch"; return false; } - if (cast.reason_phrase != subscribe_done_.reason_phrase) { - QUIC_LOG(INFO) << "SUBSCRIBE_DONE reason phrase mismatch"; + if (cast.error_reason != subscribe_done_.error_reason) { + QUIC_LOG(INFO) << "SUBSCRIBE_DONE error reason mismatch"; return false; } @@ -732,16 +732,16 @@ private: uint8_t raw_packet_[9] = { - 0x0b, 0x00, 0x06, 0x02, 0x02, // subscribe_id = 2, error_code = 2, + 0x0b, 0x00, 0x06, 0x02, 0x02, // request_id = 2, error_code = 2, 0x05, // stream_count = 5 - 0x02, 0x68, 0x69, // reason_phrase = "hi" + 0x02, 0x68, 0x69, // error_reason = "hi" }; MoqtSubscribeDone subscribe_done_ = { - /*subscribe_id=*/2, + /*request_id=*/2, /*error_code=*/SubscribeDoneCode::kTrackEnded, /*stream_count=*/5, - /*reason_phrase=*/"hi", + /*error_reason=*/"hi", }; };