aboutsummaryrefslogtreecommitdiff
path: root/rtc_base/async_resolver.h
diff options
context:
space:
mode:
Diffstat (limited to 'rtc_base/async_resolver.h')
-rw-r--r--rtc_base/async_resolver.h9
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_;
};