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

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

Issue 2025573002: Use continual gathering to restore backup connections (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Merge branch 'master' into enhanced_cg Created 4 years, 6 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/portallocator.h
diff --git a/webrtc/p2p/base/portallocator.h b/webrtc/p2p/base/portallocator.h
index 6a32b9668f882ddc245f4f2af9bc3683ced930a4..f004990f54983a9de9fc15e8680a16a573d06854 100644
--- a/webrtc/p2p/base/portallocator.h
+++ b/webrtc/p2p/base/portallocator.h
@@ -165,6 +165,15 @@ class PortAllocatorSession : public sigslot::has_slots<> {
virtual void ClearGettingPorts() = 0;
// Whether the process of getting ports has been stopped.
virtual bool IsGettingPorts() = 0;
+ // Re-gathers candidates on networks that do not have any connections. More
+ // precisely, a network interface may have more than one IP addresses (e.g.,
+ // IPv4 and IPv6 addresses). Each address subnet will be used to create a
+ // network. Only if all networks of an interface has no connection,
+ // we will start re-gather on all networks of that interface.
+ virtual void RegatherOnFailedNetworks() {}
+ // Re-gathers candidates on all networks.
+ // TODO(honghaiz): Implement this in BasicPortAllocator.
+ virtual void RegatherOnAllNetworks() {}
// Another way of getting the information provided by the signals below.
//
@@ -175,8 +184,12 @@ class PortAllocatorSession : public sigslot::has_slots<> {
virtual bool CandidatesAllocationDone() const = 0;
sigslot::signal2<PortAllocatorSession*, PortInterface*> SignalPortReady;
+ sigslot::signal2<PortAllocatorSession*, const std::vector<PortInterface*>&>
+ SignalPortsRemoved;
sigslot::signal2<PortAllocatorSession*,
const std::vector<Candidate>&> SignalCandidatesReady;
+ sigslot::signal2<PortAllocatorSession*, const std::vector<Candidate>&>
+ SignalCandidatesRemoved;
sigslot::signal1<PortAllocatorSession*> SignalCandidatesAllocationDone;
virtual uint32_t generation() { return generation_; }

Powered by Google App Engine
This is Rietveld 408576698