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_; } |