Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(968)

Unified Diff: webrtc/p2p/base/port.h

Issue 1868353004: Update prflx candidates' generation when setting ICE credentials. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Re-enable the disabled test condition. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/p2p/base/port.h
diff --git a/webrtc/p2p/base/port.h b/webrtc/p2p/base/port.h
index 7c4468d2e6b7d112abf7a4b93f41b9645e5f86c3..709bd26b178c0b689148c9a8b05bd21e4bae4fc2 100644
--- a/webrtc/p2p/base/port.h
+++ b/webrtc/p2p/base/port.h
@@ -108,6 +108,18 @@ struct ProtocolAddress {
: address(a), proto(p), secure(sec) { }
};
+struct IceParameters {
+ std::string ufrag;
+ std::string pwd;
+ IceParameters(const std::string& ice_ufrag, const std::string& ice_pwd)
+ : ufrag(ice_ufrag), pwd(ice_pwd) {}
+
+ bool operator==(const IceParameters& other) {
+ return ufrag == other.ufrag && pwd == other.pwd;
+ }
+ bool operator!=(const IceParameters& other) { return !(*this == other); }
+};
+
typedef std::set<rtc::SocketAddress> ServerAddresses;
// Represents a local communication mechanism that can be used to create
@@ -574,6 +586,14 @@ class Connection : public CandidatePairInterface,
uint32_t ComputeNetworkCost() const;
+ // Update the ICE password and/or generation of the remote candidate if a
+ // ufrag in |remote_ice_parameters| matches the candidate's ufrag, and the
+ // candidate's password and/or ufrag has not been set.
+ // |remote_ice_parameters| should be a list of known ICE parameters ordered
+ // by generation.
+ void MaybeSetRemoteIceCredentialsAndGeneration(
+ const std::vector<IceParameters>& remote_ice_parameters);
+
// Update the ICE password of the remote candidate if |ice_ufrag| matches
// the candidate's ufrag, and the candidate's passwrod has not been set.
void MaybeSetRemoteIceCredentials(const std::string& ice_ufrag,

Powered by Google App Engine
This is Rietveld 408576698