dcsctp: Merge ReconfigResponseSN/ReconfigRequestSN

Adding strong types went a little too far as these two types represent
the same sequence number. A "request sequence number" is a number, that
- when responded to - will be used as "response sequence number".

Having them separate added confusion and just a lot of type-casting.

Bug: webrtc:12614
Change-Id: I4636ea8f2252023a2d5a9b7033763e1978b1812e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214130
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33789}
This commit is contained in:
Victor Boivie 2021-04-06 20:51:03 +02:00 committed by Commit Bot
parent 0b0afaa81a
commit 0e73602a9f
9 changed files with 14 additions and 17 deletions

View File

@ -31,9 +31,6 @@ using TSN = StrongAlias<class TSNTag, uint32_t>;
// Reconfiguration Request Sequence Number // Reconfiguration Request Sequence Number
using ReconfigRequestSN = StrongAlias<class ReconfigRequestSNTag, uint32_t>; using ReconfigRequestSN = StrongAlias<class ReconfigRequestSNTag, uint32_t>;
// Reconfiguration Response Sequence Number
using ReconfigResponseSN = StrongAlias<class ReconfigResponseSNTag, uint32_t>;
// Verification Tag, used for packet validation. // Verification Tag, used for packet validation.
using VerificationTag = StrongAlias<class VerificationTagTag, uint32_t>; using VerificationTag = StrongAlias<class VerificationTagTag, uint32_t>;

View File

@ -64,7 +64,7 @@ TEST(ReConfigChunkTest, FromCapture) {
TEST(ReConfigChunkTest, SerializeAndDeserialize) { TEST(ReConfigChunkTest, SerializeAndDeserialize) {
Parameters::Builder params_builder = Parameters::Builder params_builder =
Parameters::Builder().Add(OutgoingSSNResetRequestParameter( Parameters::Builder().Add(OutgoingSSNResetRequestParameter(
ReconfigRequestSN(123), ReconfigResponseSN(456), TSN(789), ReconfigRequestSN(123), ReconfigRequestSN(456), TSN(789),
{StreamID(42), StreamID(43)})); {StreamID(42), StreamID(43)}));
ReConfigChunk chunk(params_builder.Build()); ReConfigChunk chunk(params_builder.Build());

View File

@ -56,7 +56,7 @@ OutgoingSSNResetRequestParameter::Parse(rtc::ArrayView<const uint8_t> data) {
} }
ReconfigRequestSN request_sequence_number(reader->Load32<4>()); ReconfigRequestSN request_sequence_number(reader->Load32<4>());
ReconfigResponseSN response_sequence_number(reader->Load32<8>()); ReconfigRequestSN response_sequence_number(reader->Load32<8>());
TSN sender_last_assigned_tsn(reader->Load32<12>()); TSN sender_last_assigned_tsn(reader->Load32<12>());
size_t stream_count = reader->variable_data_size() / kStreamIdSize; size_t stream_count = reader->variable_data_size() / kStreamIdSize;

View File

@ -41,7 +41,7 @@ class OutgoingSSNResetRequestParameter
explicit OutgoingSSNResetRequestParameter( explicit OutgoingSSNResetRequestParameter(
ReconfigRequestSN request_sequence_number, ReconfigRequestSN request_sequence_number,
ReconfigResponseSN response_sequence_number, ReconfigRequestSN response_sequence_number,
TSN sender_last_assigned_tsn, TSN sender_last_assigned_tsn,
std::vector<StreamID> stream_ids) std::vector<StreamID> stream_ids)
: request_sequence_number_(request_sequence_number), : request_sequence_number_(request_sequence_number),
@ -58,7 +58,7 @@ class OutgoingSSNResetRequestParameter
ReconfigRequestSN request_sequence_number() const { ReconfigRequestSN request_sequence_number() const {
return request_sequence_number_; return request_sequence_number_;
} }
ReconfigResponseSN response_sequence_number() const { ReconfigRequestSN response_sequence_number() const {
return response_sequence_number_; return response_sequence_number_;
} }
TSN sender_last_assigned_tsn() const { return sender_last_assigned_tsn_; } TSN sender_last_assigned_tsn() const { return sender_last_assigned_tsn_; }
@ -68,7 +68,7 @@ class OutgoingSSNResetRequestParameter
static constexpr size_t kStreamIdSize = sizeof(uint16_t); static constexpr size_t kStreamIdSize = sizeof(uint16_t);
ReconfigRequestSN request_sequence_number_; ReconfigRequestSN request_sequence_number_;
ReconfigResponseSN response_sequence_number_; ReconfigRequestSN response_sequence_number_;
TSN sender_last_assigned_tsn_; TSN sender_last_assigned_tsn_;
std::vector<StreamID> stream_ids_; std::vector<StreamID> stream_ids_;
}; };

View File

@ -26,7 +26,7 @@ using ::testing::ElementsAre;
TEST(OutgoingSSNResetRequestParameterTest, SerializeAndDeserialize) { TEST(OutgoingSSNResetRequestParameterTest, SerializeAndDeserialize) {
OutgoingSSNResetRequestParameter parameter( OutgoingSSNResetRequestParameter parameter(
ReconfigRequestSN(1), ReconfigResponseSN(2), TSN(3), ReconfigRequestSN(1), ReconfigRequestSN(2), TSN(3),
{StreamID(4), StreamID(5), StreamID(6)}); {StreamID(4), StreamID(5), StreamID(6)});
std::vector<uint8_t> serialized; std::vector<uint8_t> serialized;

View File

@ -29,7 +29,7 @@ TEST(ParameterTest, SerializeDeserializeParameter) {
Parameters parameters = Parameters parameters =
Parameters::Builder() Parameters::Builder()
.Add(OutgoingSSNResetRequestParameter(ReconfigRequestSN(123), .Add(OutgoingSSNResetRequestParameter(ReconfigRequestSN(123),
ReconfigResponseSN(456), ReconfigRequestSN(456),
TSN(789), {StreamID(42)})) TSN(789), {StreamID(42)}))
.Build(); .Build();

View File

@ -71,7 +71,7 @@ ReconfigurationResponseParameter::Parse(rtc::ArrayView<const uint8_t> data) {
return absl::nullopt; return absl::nullopt;
} }
ReconfigResponseSN response_sequence_number(reader->Load32<4>()); ReconfigRequestSN response_sequence_number(reader->Load32<4>());
Result result; Result result;
uint32_t result_nbr = reader->Load32<8>(); uint32_t result_nbr = reader->Load32<8>();
switch (result_nbr) { switch (result_nbr) {

View File

@ -47,7 +47,7 @@ class ReconfigurationResponseParameter
kInProgress = 6, kInProgress = 6,
}; };
ReconfigurationResponseParameter(ReconfigResponseSN response_sequence_number, ReconfigurationResponseParameter(ReconfigRequestSN response_sequence_number,
Result result) Result result)
: response_sequence_number_(response_sequence_number), : response_sequence_number_(response_sequence_number),
result_(result), result_(result),
@ -55,7 +55,7 @@ class ReconfigurationResponseParameter
receiver_next_tsn_(absl::nullopt) {} receiver_next_tsn_(absl::nullopt) {}
explicit ReconfigurationResponseParameter( explicit ReconfigurationResponseParameter(
ReconfigResponseSN response_sequence_number, ReconfigRequestSN response_sequence_number,
Result result, Result result,
TSN sender_next_tsn, TSN sender_next_tsn,
TSN receiver_next_tsn) TSN receiver_next_tsn)
@ -70,7 +70,7 @@ class ReconfigurationResponseParameter
void SerializeTo(std::vector<uint8_t>& out) const override; void SerializeTo(std::vector<uint8_t>& out) const override;
std::string ToString() const override; std::string ToString() const override;
ReconfigResponseSN response_sequence_number() const { ReconfigRequestSN response_sequence_number() const {
return response_sequence_number_; return response_sequence_number_;
} }
Result result() const { return result_; } Result result() const { return result_; }
@ -79,7 +79,7 @@ class ReconfigurationResponseParameter
private: private:
static constexpr size_t kNextTsnHeaderSize = 8; static constexpr size_t kNextTsnHeaderSize = 8;
ReconfigResponseSN response_sequence_number_; ReconfigRequestSN response_sequence_number_;
Result result_; Result result_;
absl::optional<TSN> sender_next_tsn_; absl::optional<TSN> sender_next_tsn_;
absl::optional<TSN> receiver_next_tsn_; absl::optional<TSN> receiver_next_tsn_;

View File

@ -24,7 +24,7 @@ namespace {
TEST(ReconfigurationResponseParameterTest, SerializeAndDeserializeFirstForm) { TEST(ReconfigurationResponseParameterTest, SerializeAndDeserializeFirstForm) {
ReconfigurationResponseParameter parameter( ReconfigurationResponseParameter parameter(
ReconfigResponseSN(1), ReconfigRequestSN(1),
ReconfigurationResponseParameter::Result::kSuccessPerformed); ReconfigurationResponseParameter::Result::kSuccessPerformed);
std::vector<uint8_t> serialized; std::vector<uint8_t> serialized;
@ -44,7 +44,7 @@ TEST(ReconfigurationResponseParameterTest, SerializeAndDeserializeFirstForm) {
TEST(ReconfigurationResponseParameterTest, TEST(ReconfigurationResponseParameterTest,
SerializeAndDeserializeFirstFormSecondForm) { SerializeAndDeserializeFirstFormSecondForm) {
ReconfigurationResponseParameter parameter( ReconfigurationResponseParameter parameter(
ReconfigResponseSN(1), ReconfigRequestSN(1),
ReconfigurationResponseParameter::Result::kSuccessPerformed, TSN(2), ReconfigurationResponseParameter::Result::kSuccessPerformed, TSN(2),
TSN(3)); TSN(3));