@@ -147,51 +147,62 @@ folly::dynamic MOQTUnsubscribe::toDynamic() const {
147147 return obj;
148148}
149149
150- folly::dynamic MOQTFetch ::toDynamic () const {
150+ folly::dynamic MOQTStandaloneFetch ::toDynamic () const {
151151 folly::dynamic obj = folly::dynamic::object;
152- obj[" type" ] = type;
153- obj[" subscribeId" ] = std::to_string (subscribeId);
154- obj[" subscriberPriority" ] = std::to_string (subscriberPriority);
155- obj[" groupOrder" ] = std::to_string (groupOrder);
156- obj[" fetchType" ] = std::to_string (fetchType);
157- auto trackNamespaceStr = parseTrackNamespace (trackNamespace);
158- obj[" trackNamespace" ] =
159- folly::dynamic::array (trackNamespaceStr.begin (), trackNamespaceStr.end ());
160- if (trackName.hasValue ()) {
161- obj[" trackName" ] = parseTrackName (trackName.value ());
162- }
163- if (startGroup.hasValue ()) {
164- obj[" startGroup" ] = std::to_string (startGroup.value ());
165- }
166- if (startObject.hasValue ()) {
167- obj[" startObject" ] = std::to_string (startObject.value ());
168- }
169- if (endGroup.hasValue ()) {
170- obj[" endGroup" ] = std::to_string (endGroup.value ());
152+ std::vector<std::string> trackNamespaceStr;
153+ for (const auto & ns : trackNamespace) {
154+ if (ns.type == MOQTByteStringType::STRING_VALUE) {
155+ trackNamespaceStr.push_back (ns.value );
156+ }
171157 }
172- if (endObject.hasValue ()) {
173- obj[" endObject" ] = std::to_string (endObject.value ());
158+ obj[" track_namespace" ] =
159+ folly::dynamic::array (trackNamespaceStr.begin (), trackNamespaceStr.end ());
160+ if (trackName.type == MOQTByteStringType::STRING_VALUE) {
161+ obj[" track_name" ] = trackName.value ;
174162 }
175- if (joiningSubscribeId.hasValue ()) {
176- obj[" joiningSubscribeId" ] = std::to_string (joiningSubscribeId.value ());
163+ obj[" start_location" ] = startLocation.toDynamic ();
164+ obj[" end_location" ] = endLocation.toDynamic ();
165+ return obj;
166+ }
167+
168+ folly::dynamic MOQTJoiningFetch::toDynamic () const {
169+ folly::dynamic obj = folly::dynamic::object;
170+ obj[" joining_request_id" ] = joiningRequestId;
171+ obj[" joining_start" ] = joiningStart;
172+ return obj;
173+ }
174+
175+ folly::dynamic MOQTFetch::toDynamic () const {
176+ folly::dynamic obj = folly::dynamic::object;
177+ obj[" type" ] = type;
178+ obj[" request_id" ] = requestId;
179+ obj[" subscriber_priority" ] = subscriberPriority;
180+ obj[" group_order" ] = groupOrder;
181+ obj[" fetch_type" ] = fetchType;
182+
183+ if (standaloneFetch.hasValue ()) {
184+ obj[" standalone_fetch" ] = standaloneFetch->toDynamic ();
177185 }
178- if (precedingGroupOffset.hasValue ()) {
179- obj[" precedingGroupOffset" ] = std::to_string (precedingGroupOffset.value ());
186+
187+ if (joiningFetch.hasValue ()) {
188+ obj[" joining_fetch" ] = joiningFetch->toDynamic ();
180189 }
181- obj[" numberOfParameters" ] = std::to_string (numberOfParameters);
182- std::vector<folly::dynamic> paramObjects;
183- paramObjects.reserve (parameters.size ());
184- for (auto & param : parameters) {
185- paramObjects.push_back (param.toDynamic ());
190+
191+ if (!parameters.empty ()) {
192+ std::vector<folly::dynamic> paramObjects;
193+ paramObjects.reserve (parameters.size ());
194+ for (auto & param : parameters) {
195+ paramObjects.push_back (param.toDynamic ());
196+ }
197+ obj[" parameters" ] = folly::dynamic::array (paramObjects);
186198 }
187- obj[" parameters" ] = folly::dynamic::array (paramObjects);
188199 return obj;
189200}
190201
191202folly::dynamic MOQTFetchCancel::toDynamic () const {
192203 folly::dynamic obj = folly::dynamic::object;
193204 obj[" type" ] = type;
194- obj[" subscribeId " ] = std::to_string (subscribeId) ;
205+ obj[" request_id " ] = requestId ;
195206 return obj;
196207}
197208
@@ -326,31 +337,33 @@ folly::dynamic MOQTSubscribeError::toDynamic() const {
326337folly::dynamic MOQTFetchOk::toDynamic () const {
327338 folly::dynamic obj = folly::dynamic::object;
328339 obj[" type" ] = type;
329- obj[" subscribeId" ] = std::to_string (subscribeId);
330- obj[" groupOrder" ] = std::to_string (groupOrder);
331- obj[" endOfTrack" ] = std::to_string (endOfTrack);
332- obj[" largestGroupId" ] = std::to_string (largestGroupId);
333- obj[" largestObjectId" ] = std::to_string (largestObjectId);
334- obj[" numberOfParameters" ] = std::to_string (numberOfParameters);
335- std::vector<folly::dynamic> paramObjects;
336- paramObjects.reserve (subscribeParameters.size ());
337- for (auto & param : subscribeParameters) {
338- paramObjects.push_back (param.toDynamic ());
340+ obj[" request_id" ] = requestId;
341+ obj[" group_order" ] = groupOrder;
342+ obj[" end_of_track" ] = endOfTrack;
343+ obj[" end_location" ] = endLocation.toDynamic ();
344+ obj[" number_of_parameters" ] = numberOfParameters;
345+
346+ if (numberOfParameters > 0 ) {
347+ std::vector<folly::dynamic> paramObjects;
348+ paramObjects.reserve (parameters.size ());
349+ for (auto & param : parameters) {
350+ paramObjects.push_back (param.toDynamic ());
351+ }
352+ obj[" parameters" ] = folly::dynamic::array (paramObjects);
339353 }
340- obj[" subscribeParameters" ] = folly::dynamic::array (paramObjects);
341354 return obj;
342355}
343356
344357folly::dynamic MOQTFetchError::toDynamic () const {
345358 folly::dynamic obj = folly::dynamic::object;
346359 obj[" type" ] = type;
347- obj[" subscribeId " ] = std::to_string (subscribeId) ;
348- obj[" errorCode " ] = std::to_string ( errorCode) ;
360+ obj[" request_id " ] = requestId ;
361+ obj[" error_code " ] = errorCode;
349362 if (reason.hasValue ()) {
350363 obj[" reason" ] = reason.value ();
351364 }
352365 if (reasonBytes.hasValue ()) {
353- obj[" reasonBytes " ] = reasonBytes.value ();
366+ obj[" reason_bytes " ] = reasonBytes.value ();
354367 }
355368 return obj;
356369}
0 commit comments