@@ -290,7 +290,7 @@ enum class AliasType : uint8_t {
290290};
291291
292292struct AuthToken {
293- uint64_t tokenType;
293+ uint64_t tokenType{ 0 } ;
294294 std::string tokenValue;
295295 std::optional<uint64_t > alias;
296296 // Set alias to one of these constants when sending an AuthToken parameter
@@ -660,8 +660,8 @@ std::ostream& operator<<(std::ostream& os, RequestID id);
660660struct Extension {
661661 // Even type => holds value in intValue
662662 // Odd type => holds value in arrayValue
663- uint64_t type;
664- uint64_t intValue;
663+ uint64_t type{ 0 } ;
664+ uint64_t intValue{ 0 } ;
665665 std::unique_ptr<folly::IOBuf> arrayValue;
666666
667667 Extension () noexcept : Extension(0 , 0 ) {}
@@ -709,7 +709,7 @@ struct Extension {
709709 type = other.type ;
710710 intValue = other.intValue ;
711711 arrayValue = other.arrayValue ? other.arrayValue ->clone () : nullptr ;
712- };
712+ }
713713 void moveFrom (Extension&& other) {
714714 type = other.type ;
715715 intValue = other.intValue ;
@@ -830,9 +830,9 @@ struct ObjectHeader {
830830 status(ObjectStatus::NORMAL ),
831831 extensions(std::move(extensionsIn)),
832832 length(lengthIn) {}
833- uint64_t group;
833+ uint64_t group{ 0 } ;
834834 uint64_t subgroup{0 }; // meaningless for Datagram
835- uint64_t id;
835+ uint64_t id{ 0 } ;
836836 std::optional<uint8_t > priority{kDefaultPriority };
837837 ObjectStatus status{ObjectStatus::NORMAL };
838838 Extensions extensions;
@@ -869,7 +869,7 @@ struct TrackNamespace {
869869 explicit TrackNamespace (std::vector<std::string> tns) {
870870 trackNamespace = std::move (tns);
871871 }
872- explicit TrackNamespace (std::string tns, std::string delimiter);
872+ explicit TrackNamespace (const std::string& tns, const std::string& delimiter);
873873
874874 bool operator ==(const TrackNamespace& other) const {
875875 return trackNamespace == other.trackNamespace ;
@@ -982,11 +982,11 @@ struct SubscribeRequest {
982982 RequestID requestID;
983983 FullTrackName fullTrackName;
984984 uint8_t priority{kDefaultPriority };
985- GroupOrder groupOrder;
985+ GroupOrder groupOrder{GroupOrder::Default} ;
986986 bool forward{true };
987- LocationType locType;
987+ LocationType locType{LocationType::LargestObject} ;
988988 std::optional<AbsoluteLocation> start;
989- uint64_t endGroup;
989+ uint64_t endGroup{ 0 } ;
990990 TrackRequestParameters params{FrameType::SUBSCRIBE };
991991};
992992
@@ -1008,8 +1008,8 @@ using SubscribeUpdate = RequestUpdate;
10081008struct SubscribeOk {
10091009 RequestID requestID;
10101010 TrackAlias trackAlias;
1011- std::chrono::milliseconds expires;
1012- GroupOrder groupOrder;
1011+ std::chrono::milliseconds expires{ std::chrono::milliseconds ( 0 )} ;
1012+ GroupOrder groupOrder{GroupOrder::OldestFirst} ;
10131013 // context exists is inferred from presence of largest
10141014 std::optional<AbsoluteLocation> largest;
10151015 Extensions extensions; // Draft 16+
@@ -1033,19 +1033,19 @@ struct PublishRequest {
10331033 RequestID requestID{0 };
10341034 FullTrackName fullTrackName;
10351035 TrackAlias trackAlias{0 };
1036- GroupOrder groupOrder{GroupOrder::Default };
1036+ GroupOrder groupOrder{GroupOrder::OldestFirst };
10371037 std::optional<AbsoluteLocation> largest;
1038- bool forward{true };
1038+ bool forward{false };
10391039 Extensions extensions; // Draft 16+
10401040 TrackRequestParameters params{FrameType::PUBLISH };
10411041};
10421042
10431043struct PublishOk {
10441044 RequestID requestID;
1045- bool forward;
1046- uint8_t subscriberPriority;
1047- GroupOrder groupOrder;
1048- LocationType locType;
1045+ bool forward{ true } ;
1046+ uint8_t subscriberPriority{ kDefaultPriority } ;
1047+ GroupOrder groupOrder{GroupOrder::OldestFirst} ;
1048+ LocationType locType{LocationType::LargestObject} ;
10491049 std::optional<AbsoluteLocation> start;
10501050 std::optional<uint64_t > endGroup;
10511051 TrackRequestParameters params{FrameType::PUBLISH_OK };
@@ -1080,8 +1080,8 @@ using TrackStatus = SubscribeRequest;
10801080struct TrackStatusOk {
10811081 RequestID requestID;
10821082 TrackAlias trackAlias;
1083- std::chrono::milliseconds expires{};
1084- GroupOrder groupOrder{};
1083+ std::chrono::milliseconds expires{std::chrono::milliseconds ( 0 ) };
1084+ GroupOrder groupOrder{GroupOrder::OldestFirst };
10851085 // context exists is inferred from presence of largest
10861086 std::optional<AbsoluteLocation> largest;
10871087 TrackRequestParameters params{FrameType::REQUEST_OK };
@@ -1174,8 +1174,8 @@ struct FetchCancel {
11741174
11751175struct FetchOk {
11761176 RequestID requestID;
1177- GroupOrder groupOrder;
1178- uint8_t endOfTrack;
1177+ GroupOrder groupOrder{GroupOrder::OldestFirst} ;
1178+ uint8_t endOfTrack{ 0 } ;
11791179 AbsoluteLocation endLocation;
11801180 Extensions extensions; // Draft 16+
11811181 TrackRequestParameters params{FrameType::FETCH_OK };
0 commit comments