| /* |
| * Copyright 2018 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. |
| */ |
| |
| #ifndef API_TRANSPORT_ENUMS_H_ |
| #define API_TRANSPORT_ENUMS_H_ |
| |
| namespace webrtc { |
| |
| // See https://w3c.github.io/webrtc-pc/#rtcicetransportstate |
| // Note that kFailed is currently not a terminal state, and a transport might |
| // incorrectly be marked as failed while gathering candidates, see |
| // bugs.webrtc.org/8833 |
| enum class IceTransportState { |
| kNew, |
| kChecking, |
| kConnected, |
| kCompleted, |
| kFailed, |
| kDisconnected, |
| kClosed, |
| }; |
| |
| enum PortPrunePolicy { |
| NO_PRUNE, // Do not prune. |
| PRUNE_BASED_ON_PRIORITY, // Prune lower-priority ports on the same network. |
| KEEP_FIRST_READY // Keep the first ready port and prune the rest |
| // on the same network. |
| }; |
| |
| enum class VpnPreference { |
| kDefault, // No VPN preference. |
| kOnlyUseVpn, // only use VPN connections. |
| kNeverUseVpn, // never use VPN connections |
| kPreferVpn, // use a VPN connection if possible, |
| // i.e VPN connections sorts first. |
| kAvoidVpn, // only use VPN if there is no other connections, |
| // i.e VPN connections sorts last. |
| }; |
| |
| } // namespace webrtc |
| |
| #endif // API_TRANSPORT_ENUMS_H_ |