dcsctp: move HandoverReadinessStatus::ToString definition to build target public:socket
This allows build targets that need only HandoverReadinessStatus to depend only on public:socket, and not on socket:dcsctp_socket. Bug: webrtc:13154 Change-Id: I29f41910cdb5baed96b57fd7284b96fc50a56ba4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232331 Reviewed-by: Victor Boivie <boivie@webrtc.org> Commit-Queue: Sergey Sukhanov <sergeysu@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35037}
This commit is contained in:
parent
057f90b7cb
commit
d92f8a86b3
@ -35,6 +35,7 @@ rtc_source_set("socket") {
|
|||||||
"../../../rtc_base:rtc_base_approved",
|
"../../../rtc_base:rtc_base_approved",
|
||||||
]
|
]
|
||||||
sources = [
|
sources = [
|
||||||
|
"dcsctp_handover_state.cc",
|
||||||
"dcsctp_handover_state.h",
|
"dcsctp_handover_state.h",
|
||||||
"dcsctp_socket.h",
|
"dcsctp_socket.h",
|
||||||
"packet_observer.h",
|
"packet_observer.h",
|
||||||
|
|||||||
68
net/dcsctp/public/dcsctp_handover_state.cc
Normal file
68
net/dcsctp/public/dcsctp_handover_state.cc
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by a BSD-style license
|
||||||
|
* that can be found in the LICENSE file in the root of the source
|
||||||
|
* tree. An additional intellectual property rights grant can be found
|
||||||
|
* in the file PATENTS. All contributing project authors may
|
||||||
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
#include "net/dcsctp/public/dcsctp_handover_state.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "absl/strings/string_view.h"
|
||||||
|
|
||||||
|
namespace dcsctp {
|
||||||
|
namespace {
|
||||||
|
constexpr absl::string_view HandoverUnreadinessReasonToString(
|
||||||
|
HandoverUnreadinessReason reason) {
|
||||||
|
switch (reason) {
|
||||||
|
case HandoverUnreadinessReason::kWrongConnectionState:
|
||||||
|
return "WRONG_CONNECTION_STATE";
|
||||||
|
case HandoverUnreadinessReason::kSendQueueNotEmpty:
|
||||||
|
return "SEND_QUEUE_NOT_EMPTY";
|
||||||
|
case HandoverUnreadinessReason::kDataTrackerTsnBlocksPending:
|
||||||
|
return "DATA_TRACKER_TSN_BLOCKS_PENDING";
|
||||||
|
case HandoverUnreadinessReason::kReassemblyQueueDeliveredTSNsGap:
|
||||||
|
return "REASSEMBLY_QUEUE_DELIVERED_TSN_GAP";
|
||||||
|
case HandoverUnreadinessReason::kStreamResetDeferred:
|
||||||
|
return "STREAM_RESET_DEFERRED";
|
||||||
|
case HandoverUnreadinessReason::kOrderedStreamHasUnassembledChunks:
|
||||||
|
return "ORDERED_STREAM_HAS_UNASSEMBLED_CHUNKS";
|
||||||
|
case HandoverUnreadinessReason::kUnorderedStreamHasUnassembledChunks:
|
||||||
|
return "UNORDERED_STREAM_HAS_UNASSEMBLED_CHUNKS";
|
||||||
|
case HandoverUnreadinessReason::kRetransmissionQueueOutstandingData:
|
||||||
|
return "RETRANSMISSION_QUEUE_OUTSTANDING_DATA";
|
||||||
|
case HandoverUnreadinessReason::kRetransmissionQueueFastRecovery:
|
||||||
|
return "RETRANSMISSION_QUEUE_FAST_RECOVERY";
|
||||||
|
case HandoverUnreadinessReason::kRetransmissionQueueNotEmpty:
|
||||||
|
return "RETRANSMISSION_QUEUE_NOT_EMPTY";
|
||||||
|
case HandoverUnreadinessReason::kPendingStreamReset:
|
||||||
|
return "PENDING_STREAM_RESET";
|
||||||
|
case HandoverUnreadinessReason::kPendingStreamResetRequest:
|
||||||
|
return "PENDING_STREAM_RESET_REQUEST";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
std::string HandoverReadinessStatus::ToString() const {
|
||||||
|
std::string result;
|
||||||
|
for (uint32_t bit = 1;
|
||||||
|
bit <= static_cast<uint32_t>(HandoverUnreadinessReason::kMax);
|
||||||
|
bit *= 2) {
|
||||||
|
auto flag = static_cast<HandoverUnreadinessReason>(bit);
|
||||||
|
if (Contains(flag)) {
|
||||||
|
if (!result.empty()) {
|
||||||
|
result.append(",");
|
||||||
|
}
|
||||||
|
absl::string_view s = HandoverUnreadinessReasonToString(flag);
|
||||||
|
result.append(s.data(), s.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (result.empty()) {
|
||||||
|
result = "READY";
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
} // namespace dcsctp
|
||||||
@ -138,58 +138,8 @@ TieTag MakeTieTag(DcSctpSocketCallbacks& cb) {
|
|||||||
return TieTag(static_cast<uint64_t>(tie_tag_upper) << 32 |
|
return TieTag(static_cast<uint64_t>(tie_tag_upper) << 32 |
|
||||||
static_cast<uint64_t>(tie_tag_lower));
|
static_cast<uint64_t>(tie_tag_lower));
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr absl::string_view HandoverUnreadinessReasonToString(
|
|
||||||
HandoverUnreadinessReason reason) {
|
|
||||||
switch (reason) {
|
|
||||||
case HandoverUnreadinessReason::kWrongConnectionState:
|
|
||||||
return "WRONG_CONNECTION_STATE";
|
|
||||||
case HandoverUnreadinessReason::kSendQueueNotEmpty:
|
|
||||||
return "SEND_QUEUE_NOT_EMPTY";
|
|
||||||
case HandoverUnreadinessReason::kDataTrackerTsnBlocksPending:
|
|
||||||
return "DATA_TRACKER_TSN_BLOCKS_PENDING";
|
|
||||||
case HandoverUnreadinessReason::kReassemblyQueueDeliveredTSNsGap:
|
|
||||||
return "REASSEMBLY_QUEUE_DELIVERED_TSN_GAP";
|
|
||||||
case HandoverUnreadinessReason::kStreamResetDeferred:
|
|
||||||
return "STREAM_RESET_DEFERRED";
|
|
||||||
case HandoverUnreadinessReason::kOrderedStreamHasUnassembledChunks:
|
|
||||||
return "ORDERED_STREAM_HAS_UNASSEMBLED_CHUNKS";
|
|
||||||
case HandoverUnreadinessReason::kUnorderedStreamHasUnassembledChunks:
|
|
||||||
return "UNORDERED_STREAM_HAS_UNASSEMBLED_CHUNKS";
|
|
||||||
case HandoverUnreadinessReason::kRetransmissionQueueOutstandingData:
|
|
||||||
return "RETRANSMISSION_QUEUE_OUTSTANDING_DATA";
|
|
||||||
case HandoverUnreadinessReason::kRetransmissionQueueFastRecovery:
|
|
||||||
return "RETRANSMISSION_QUEUE_FAST_RECOVERY";
|
|
||||||
case HandoverUnreadinessReason::kRetransmissionQueueNotEmpty:
|
|
||||||
return "RETRANSMISSION_QUEUE_NOT_EMPTY";
|
|
||||||
case HandoverUnreadinessReason::kPendingStreamReset:
|
|
||||||
return "PENDING_STREAM_RESET";
|
|
||||||
case HandoverUnreadinessReason::kPendingStreamResetRequest:
|
|
||||||
return "PENDING_STREAM_RESET_REQUEST";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
std::string HandoverReadinessStatus::ToString() const {
|
|
||||||
std::string result;
|
|
||||||
for (uint32_t bit = 1;
|
|
||||||
bit <= static_cast<uint32_t>(HandoverUnreadinessReason::kMax);
|
|
||||||
bit *= 2) {
|
|
||||||
auto flag = static_cast<HandoverUnreadinessReason>(bit);
|
|
||||||
if (Contains(flag)) {
|
|
||||||
if (!result.empty()) {
|
|
||||||
result.append(",");
|
|
||||||
}
|
|
||||||
absl::string_view s = HandoverUnreadinessReasonToString(flag);
|
|
||||||
result.append(s.data(), s.size());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (result.empty()) {
|
|
||||||
result = "READY";
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
DcSctpSocket::DcSctpSocket(absl::string_view log_prefix,
|
DcSctpSocket::DcSctpSocket(absl::string_view log_prefix,
|
||||||
DcSctpSocketCallbacks& callbacks,
|
DcSctpSocketCallbacks& callbacks,
|
||||||
std::unique_ptr<PacketObserver> packet_observer,
|
std::unique_ptr<PacketObserver> packet_observer,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user