Index: webrtc/p2p/base/portallocator.h |
diff --git a/webrtc/p2p/base/portallocator.h b/webrtc/p2p/base/portallocator.h |
index 7d2a59f278ccb307ce0266ef89f65234eb291768..d03d29745c2d56f65dc8545c724aa93cca35db0d 100644 |
--- a/webrtc/p2p/base/portallocator.h |
+++ b/webrtc/p2p/base/portallocator.h |
@@ -221,8 +221,10 @@ class PortAllocatorSession : public sigslot::has_slots<> { |
friend class PortAllocator; |
}; |
-// Note that this class should only be used on one thread. |
-// This includes calling the destructor. |
+// This class can be constructed on any thread, but every other method |
+// (including the destructor) should be called on a different thread. |
skvlad
2016/06/23 22:15:55
Do we have a way to verify that the "other thread"
Taylor Brandstetter
2016/06/23 22:59:07
Yeah, we can call "DetachFromThread" in the constr
|
+// This allows constructing a PortAllocator subclass on one thread and |
+// passing it into an object that uses it on a different thread. |
class PortAllocator : public sigslot::has_slots<> { |
public: |
PortAllocator() : |
@@ -232,10 +234,13 @@ class PortAllocator : public sigslot::has_slots<> { |
step_delay_(kDefaultStepDelay), |
allow_tcp_listen_(true), |
candidate_filter_(CF_ALL) { |
- // This will allow us to have old behavior on non webrtc clients. |
} |
virtual ~PortAllocator() {} |
+ // This should be called on the PortAllocator's thread before the |
+ // PortAllocator is used. Subclasses may override this if necessary. |
+ virtual void Initialize() {} |
+ |
// Set STUN and TURN servers to be used in future sessions, and set |
// candidate pool size, as described in JSEP. |
// |