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

Unified Diff: webrtc/base/nethelpers.h

Issue 2915253002: Delete SignalThread class. (Closed)
Patch Set: Use a task queue. Created 3 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/base/nethelpers.h
diff --git a/webrtc/base/nethelpers.h b/webrtc/base/nethelpers.h
index b0727f861b6a2910b225b839447e21d02911bc74..694038965271517b33ee78425dd8e47ce78c8245 100644
--- a/webrtc/base/nethelpers.h
+++ b/webrtc/base/nethelpers.h
@@ -19,19 +19,22 @@
#endif
#include <list>
+#include <memory>
#include "webrtc/base/asyncresolverinterface.h"
-#include "webrtc/base/signalthread.h"
#include "webrtc/base/sigslot.h"
#include "webrtc/base/socketaddress.h"
namespace rtc {
-class AsyncResolverTest;
+class Thread;
+class TaskQueue;
-// AsyncResolver will perform async DNS resolution, signaling the result on
-// the SignalDone from AsyncResolverInterface when the operation completes.
-class AsyncResolver : public SignalThread, public AsyncResolverInterface {
+// AsyncResolver will perform async DNS resolution, signaling the result on the
+// SignalDone from AsyncResolverInterface when the operation completes.
+// SignalDone is fired on the same thread on which the AsyncResolver was
+// constructed.
+class AsyncResolver : public AsyncResolverInterface {
public:
AsyncResolver();
~AsyncResolver() override;
@@ -44,14 +47,15 @@ class AsyncResolver : public SignalThread, public AsyncResolverInterface {
const std::vector<IPAddress>& addresses() const { return addresses_; }
void set_error(int error) { error_ = error; }
- protected:
- void DoWork() override;
- void OnWorkDone() override;
-
private:
+ void ResolveDone(int error, std::vector<IPAddress> addresses);
+
+ rtc::Thread* const construction_thread_;
+ // Queue used only for a single task.
+ std::unique_ptr<TaskQueue> resolver_queue_;
SocketAddress addr_;
std::vector<IPAddress> addresses_;
- int error_;
+ int error_ = -1;
};
// rtc namespaced wrappers for inet_ntop and inet_pton so we can avoid
« no previous file with comments | « webrtc/base/BUILD.gn ('k') | webrtc/base/nethelpers.cc » ('j') | webrtc/base/nethelpers.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698