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:
parent
0b0afaa81a
commit
0e73602a9f
@ -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>;
|
||||||
|
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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_;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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_;
|
||||||
|
|||||||
@ -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));
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user