diff options
Diffstat (limited to 'rtc_base/async_resolver.h')
-rw-r--r-- | rtc_base/async_resolver.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/rtc_base/async_resolver.h b/rtc_base/async_resolver.h index c43685a4d8..0c053eed81 100644 --- a/rtc_base/async_resolver.h +++ b/rtc_base/async_resolver.h @@ -17,12 +17,13 @@ #include <winsock2.h> // NOLINT #endif -#include <memory> #include <vector> #include "api/sequence_checker.h" #include "rtc_base/async_resolver_interface.h" +#include "rtc_base/event.h" #include "rtc_base/ip_address.h" +#include "rtc_base/ref_counted_object.h" #include "rtc_base/socket_address.h" #include "rtc_base/system/no_unique_address.h" #include "rtc_base/system/rtc_export.h" @@ -52,6 +53,9 @@ class RTC_EXPORT AsyncResolver : public AsyncResolverInterface { const std::vector<IPAddress>& addresses() const; private: + // Fwd decl. + struct State; + void ResolveDone(std::vector<IPAddress> addresses, int error) RTC_EXCLUSIVE_LOCKS_REQUIRED(sequence_checker_); void MaybeSelfDestruct(); @@ -59,11 +63,10 @@ class RTC_EXPORT AsyncResolver : public AsyncResolverInterface { SocketAddress addr_ RTC_GUARDED_BY(sequence_checker_); std::vector<IPAddress> addresses_ RTC_GUARDED_BY(sequence_checker_); int error_ RTC_GUARDED_BY(sequence_checker_); - webrtc::ScopedTaskSafety safety_ RTC_GUARDED_BY(sequence_checker_); - std::unique_ptr<Thread> popup_thread_ RTC_GUARDED_BY(sequence_checker_); bool recursion_check_ = false; // Protects against SignalDone calling into Destroy. bool destroy_called_ = false; + scoped_refptr<State> state_; RTC_NO_UNIQUE_ADDRESS webrtc::SequenceChecker sequence_checker_; }; |