webrtc/p2p/base/ice_switch_reason.cc
Sameer Vijaykar c7a0620c98 Add an ICE switch reason for a switch requested by an application.
Also added an enum for unknown reason.

New value uses a macro-like name rather than a constant-like name for consistency.

Bug: chromium:1369096, webrtc:14131
Change-Id: Ib315584ec40d8c1cd9a6f0ff44587c0d92c735d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292341
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#39262}
2023-02-06 16:19:49 +00:00

47 lines
1.8 KiB
C++

/*
* Copyright 2022 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 "p2p/base/ice_switch_reason.h"
#include <string>
namespace cricket {
std::string IceSwitchReasonToString(IceSwitchReason reason) {
switch (reason) {
case IceSwitchReason::REMOTE_CANDIDATE_GENERATION_CHANGE:
return "remote candidate generation maybe changed";
case IceSwitchReason::NETWORK_PREFERENCE_CHANGE:
return "network preference changed";
case IceSwitchReason::NEW_CONNECTION_FROM_LOCAL_CANDIDATE:
return "new candidate pairs created from a new local candidate";
case IceSwitchReason::NEW_CONNECTION_FROM_REMOTE_CANDIDATE:
return "new candidate pairs created from a new remote candidate";
case IceSwitchReason::NEW_CONNECTION_FROM_UNKNOWN_REMOTE_ADDRESS:
return "a new candidate pair created from an unknown remote address";
case IceSwitchReason::NOMINATION_ON_CONTROLLED_SIDE:
return "nomination on the controlled side";
case IceSwitchReason::DATA_RECEIVED:
return "data received";
case IceSwitchReason::CONNECT_STATE_CHANGE:
return "candidate pair state changed";
case IceSwitchReason::SELECTED_CONNECTION_DESTROYED:
return "selected candidate pair destroyed";
case IceSwitchReason::ICE_CONTROLLER_RECHECK:
return "ice-controller-request-recheck";
case IceSwitchReason::APPLICATION_REQUESTED:
return "application requested";
case IceSwitchReason::UNKNOWN:
default:
return "unknown";
}
}
} // namespace cricket