webrtc/p2p/base/ice_controller_interface.cc
Jonas Oreland b5aa0a85f3 Add IceControllerEvent::ICE_CONTROLLER_RECHECK
This patch adds a new enum value in IceControllerEvent::Type,
that allows an IceController to request a recheck without
any of the predefined event occuring.

This patch is a NOP for BasicIceController.

BUG=webrtc:10647

Change-Id: Idf1d0946480437109ff272946679fef559ca7beb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161047
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29976}
2019-12-03 10:17:09 +00:00

57 lines
1.8 KiB
C++

/*
* Copyright 2019 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_controller_interface.h"
#include <string>
namespace cricket {
std::string IceControllerEvent::ToString() const {
std::string reason;
switch (type) {
case REMOTE_CANDIDATE_GENERATION_CHANGE:
reason = "remote candidate generation maybe changed";
break;
case NETWORK_PREFERENCE_CHANGE:
reason = "network preference changed";
break;
case NEW_CONNECTION_FROM_LOCAL_CANDIDATE:
reason = "new candidate pairs created from a new local candidate";
break;
case NEW_CONNECTION_FROM_REMOTE_CANDIDATE:
reason = "new candidate pairs created from a new remote candidate";
break;
case NEW_CONNECTION_FROM_UNKNOWN_REMOTE_ADDRESS:
reason = "a new candidate pair created from an unknown remote address";
break;
case NOMINATION_ON_CONTROLLED_SIDE:
reason = "nomination on the controlled side";
break;
case DATA_RECEIVED:
reason = "data received";
break;
case CONNECT_STATE_CHANGE:
reason = "candidate pair state changed";
break;
case SELECTED_CONNECTION_DESTROYED:
reason = "selected candidate pair destroyed";
break;
case ICE_CONTROLLER_RECHECK:
reason = "ice-controller-request-recheck";
break;
}
if (recheck_delay_ms) {
reason += " (after delay: " + std::to_string(recheck_delay_ms) + ")";
}
return reason;
}
} // namespace cricket