Update talk to 56619788
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3839005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5120 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/base/nethelpers.cc b/talk/base/nethelpers.cc
index 05e02c9..e6310ac 100644
--- a/talk/base/nethelpers.cc
+++ b/talk/base/nethelpers.cc
@@ -67,7 +67,27 @@
}
// AsyncResolver
-AsyncResolver::AsyncResolver() : error_(0) {
+AsyncResolver::AsyncResolver() : error_(-1) {
+}
+
+void AsyncResolver::Start(const SocketAddress& addr) {
+ addr_ = addr;
+ // SignalThred Start will kickoff the resolve process.
+ SignalThread::Start();
+}
+
+bool AsyncResolver::GetResolvedAddress(int family, SocketAddress* addr) const {
+ if (error_ != 0 || addresses_.empty())
+ return false;
+
+ *addr = addr_;
+ for (size_t i = 0; i < addresses_.size(); ++i) {
+ if (family == addresses_[i].family()) {
+ addr->SetIP(addresses_[i]);
+ return true;
+ }
+ }
+ return false;
}
void AsyncResolver::DoWork() {
@@ -76,9 +96,7 @@
}
void AsyncResolver::OnWorkDone() {
- if (addresses_.size() > 0) {
- addr_.SetIP(addresses_[0]);
- }
+ SignalDone(this);
}
const char* inet_ntop(int af, const void *src, char* dst, socklen_t size) {