@@ -511,14 +511,9 @@ quiche::QuicheBuffer MoqtFramer::SerializeServerSetup(
511511
512512quiche::QuicheBuffer MoqtFramer::SerializeRequestOk (
513513 const MoqtRequestOk& message) {
514- KeyValuePairList parameters;
515- if (!FillAndValidateVersionSpecificParameters (
516- MoqtMessageType::kRequestOk , message.parameters , parameters)) {
517- return quiche::QuicheBuffer ();
518- };
519- return SerializeControlMessage (MoqtMessageType::kRequestOk ,
520- WireVarInt62 (message.request_id ),
521- WireKeyValuePairList (parameters));
514+ return SerializeControlMessage (
515+ MoqtMessageType::kRequestOk , WireVarInt62 (message.request_id ),
516+ WireKeyValuePairList (message.parameters .ToKeyValuePairList ()));
522517}
523518
524519quiche::QuicheBuffer MoqtFramer::SerializeSubscribe (
@@ -548,6 +543,9 @@ quiche::QuicheBuffer MoqtFramer::SerializeRequestError(
548543 return SerializeControlMessage (
549544 MoqtMessageType::kRequestError , WireVarInt62 (message.request_id ),
550545 WireVarInt62 (message.error_code ),
546+ WireVarInt62 (message.retry_interval .has_value ()
547+ ? message.retry_interval ->ToMilliseconds () + 1
548+ : 0 ),
551549 WireStringWithVarInt62Length (message.reason_phrase ));
552550}
553551
@@ -600,6 +598,20 @@ quiche::QuicheBuffer MoqtFramer::SerializePublishNamespaceDone(
600598 WireTrackNamespace (message.track_namespace ));
601599}
602600
601+ quiche::QuicheBuffer MoqtFramer::SerializeNamespace (
602+ const MoqtNamespace& message) {
603+ return SerializeControlMessage (
604+ MoqtMessageType::kNamespace ,
605+ WireTrackNamespace (message.track_namespace_suffix ));
606+ }
607+
608+ quiche::QuicheBuffer MoqtFramer::SerializeNamespaceDone (
609+ const MoqtNamespaceDone& message) {
610+ return SerializeControlMessage (
611+ MoqtMessageType::kNamespaceDone ,
612+ WireTrackNamespace (message.track_namespace_suffix ));
613+ }
614+
603615quiche::QuicheBuffer MoqtFramer::SerializePublishNamespaceCancel (
604616 const MoqtPublishNamespaceCancel& message) {
605617 return SerializeControlMessage (
@@ -623,16 +635,11 @@ quiche::QuicheBuffer MoqtFramer::SerializeGoAway(const MoqtGoAway& message) {
623635
624636quiche::QuicheBuffer MoqtFramer::SerializeSubscribeNamespace (
625637 const MoqtSubscribeNamespace& message) {
626- KeyValuePairList parameters;
627- if (!FillAndValidateVersionSpecificParameters (
628- MoqtMessageType::kSubscribeNamespace , message.parameters ,
629- parameters)) {
630- return quiche::QuicheBuffer ();
631- };
632- return SerializeControlMessage (MoqtMessageType::kSubscribeNamespace ,
633- WireVarInt62 (message.request_id ),
634- WireTrackNamespace (message.track_namespace ),
635- WireKeyValuePairList (parameters));
638+ return SerializeControlMessage (
639+ MoqtMessageType::kSubscribeNamespace , WireVarInt62 (message.request_id ),
640+ WireTrackNamespace (message.track_namespace_prefix ),
641+ WireVarInt62 (message.subscribe_options ),
642+ WireKeyValuePairList (message.parameters .ToKeyValuePairList ()));
636643}
637644
638645quiche::QuicheBuffer MoqtFramer::SerializeUnsubscribeNamespace (
0 commit comments