Index: net/dns/mdns_client_impl.cc |
diff --git a/net/dns/mdns_client_impl.cc b/net/dns/mdns_client_impl.cc |
index 68cee7a87ec1572b395a964ec6b4de588fedb4b1..1725039522b999c8398e42d91d967c77c78f010d 100644 |
--- a/net/dns/mdns_client_impl.cc |
+++ b/net/dns/mdns_client_impl.cc |
@@ -99,17 +99,19 @@ void MDnsConnection::SocketHandler::OnDatagramReceived(int rv) { |
} |
int MDnsConnection::SocketHandler::Send(IOBuffer* buffer, unsigned size) { |
- return socket_->SendTo(buffer, size, multicast_addr_, |
+ return socket_->SendTo(buffer, |
+ size, |
+ multicast_addr_, |
base::Bind(&MDnsConnection::SocketHandler::SendDone, |
- base::Unretained(this) )); |
+ base::Unretained(this))); |
} |
void MDnsConnection::SocketHandler::SendDone(int rv) { |
// TODO(noamsml): Retry logic. |
} |
-MDnsConnection::MDnsConnection(MDnsConnection::Delegate* delegate) : |
- delegate_(delegate) { |
+MDnsConnection::MDnsConnection(MDnsConnection::Delegate* delegate) |
+ : delegate_(delegate) { |
} |
MDnsConnection::~MDnsConnection() { |
@@ -154,17 +156,15 @@ bool MDnsConnection::Send(IOBuffer* buffer, unsigned size) { |
return success; |
} |
-void MDnsConnection::OnError(SocketHandler* loop, |
- int error) { |
+void MDnsConnection::OnError(SocketHandler* loop, int error) { |
// TODO(noamsml): Specific handling of intermittent errors that can be handled |
// in the connection. |
delegate_->OnConnectionError(error); |
} |
-void MDnsConnection::OnDatagramReceived( |
- DnsResponse* response, |
- const IPEndPoint& recv_addr, |
- int bytes_read) { |
+void MDnsConnection::OnDatagramReceived(DnsResponse* response, |
+ const IPEndPoint& recv_addr, |
+ int bytes_read) { |
// TODO(noamsml): More sophisticated error handling. |
DCHECK_GT(bytes_read, 0); |
delegate_->HandlePacket(response, bytes_read); |
@@ -193,8 +193,7 @@ bool MDnsClientImpl::Core::SendQuery(uint16 rrtype, std::string name) { |
return connection_->Send(query.io_buffer(), query.io_buffer()->size()); |
} |
-void MDnsClientImpl::Core::HandlePacket(DnsResponse* response, |
- int bytes_read) { |
+void MDnsClientImpl::Core::HandlePacket(DnsResponse* response, int bytes_read) { |
unsigned offset; |
// Note: We store cache keys rather than record pointers to avoid |
// erroneous behavior in case a packet contains multiple exclusive |
@@ -211,13 +210,13 @@ void MDnsClientImpl::Core::HandlePacket(DnsResponse* response, |
return; // Message is a query. ignore it. |
DnsRecordParser parser = response->Parser(); |
- unsigned answer_count = response->answer_count() + |
- response->additional_answer_count(); |
+ unsigned answer_count = |
+ response->answer_count() + response->additional_answer_count(); |
for (unsigned i = 0; i < answer_count; i++) { |
offset = parser.GetOffset(); |
- scoped_ptr<const RecordParsed> record = RecordParsed::CreateFrom( |
- &parser, base::Time::Now()); |
+ scoped_ptr<const RecordParsed> record = |
+ RecordParsed::CreateFrom(&parser, base::Time::Now()); |
if (!record) { |
DVLOG(1) << "Could not understand an mDNS record."; |
@@ -246,7 +245,9 @@ void MDnsClientImpl::Core::HandlePacket(DnsResponse* response, |
} |
for (std::map<MDnsCache::Key, MDnsCache::UpdateType>::iterator i = |
- update_keys.begin(); i != update_keys.end(); i++) { |
+ update_keys.begin(); |
+ i != update_keys.end(); |
+ i++) { |
const RecordParsed* record = cache_.LookupKey(i->first); |
if (!record) |
continue; |
@@ -256,8 +257,8 @@ void MDnsClientImpl::Core::HandlePacket(DnsResponse* response, |
NotifyNsecRecord(record); |
#endif |
} else { |
- AlertListeners(i->second, ListenerKey(record->name(), record->type()), |
- record); |
+ AlertListeners( |
+ i->second, ListenerKey(record->name(), record->type()), record); |
} |
} |
} |
@@ -270,11 +271,12 @@ void MDnsClientImpl::Core::NotifyNsecRecord(const RecordParsed* record) { |
// Remove all cached records matching the nonexistent RR types. |
std::vector<const RecordParsed*> records_to_remove; |
- cache_.FindDnsRecords(0, record->name(), &records_to_remove, |
- base::Time::Now()); |
+ cache_.FindDnsRecords( |
+ 0, record->name(), &records_to_remove, base::Time::Now()); |
for (std::vector<const RecordParsed*>::iterator i = records_to_remove.begin(); |
- i != records_to_remove.end(); i++) { |
+ i != records_to_remove.end(); |
+ i++) { |
if ((*i)->type() == dns_protocol::kTypeNSEC) |
continue; |
if (!rdata->GetBit((*i)->type())) { |
@@ -298,19 +300,19 @@ void MDnsClientImpl::Core::OnConnectionError(int error) { |
// TODO(noamsml): On connection error, recreate connection and flush cache. |
} |
-void MDnsClientImpl::Core::AlertListeners( |
- MDnsCache::UpdateType update_type, |
- const ListenerKey& key, |
- const RecordParsed* record) { |
+void MDnsClientImpl::Core::AlertListeners(MDnsCache::UpdateType update_type, |
+ const ListenerKey& key, |
+ const RecordParsed* record) { |
ListenerMap::iterator listener_map_iterator = listeners_.find(key); |
- if (listener_map_iterator == listeners_.end()) return; |
+ if (listener_map_iterator == listeners_.end()) |
+ return; |
- FOR_EACH_OBSERVER(MDnsListenerImpl, *listener_map_iterator->second, |
+ FOR_EACH_OBSERVER(MDnsListenerImpl, |
+ *listener_map_iterator->second, |
HandleRecordUpdate(update_type, record)); |
} |
-void MDnsClientImpl::Core::AddListener( |
- MDnsListenerImpl* listener) { |
+void MDnsClientImpl::Core::AddListener(MDnsListenerImpl* listener) { |
ListenerKey key(listener->GetName(), listener->GetType()); |
std::pair<ListenerMap::iterator, bool> observer_insert_result = |
listeners_.insert( |
@@ -340,7 +342,8 @@ void MDnsClientImpl::Core::RemoveListener(MDnsListenerImpl* listener) { |
// Schedule the actual removal for later in case the listener removal |
// happens while iterating over the observer list. |
base::MessageLoop::current()->PostTask( |
- FROM_HERE, base::Bind( |
+ FROM_HERE, |
+ base::Bind( |
&MDnsClientImpl::Core::CleanupObserverList, AsWeakPtr(), key)); |
} |
} |
@@ -355,37 +358,38 @@ void MDnsClientImpl::Core::CleanupObserverList(const ListenerKey& key) { |
void MDnsClientImpl::Core::ScheduleCleanup(base::Time cleanup) { |
// Cleanup is already scheduled, no need to do anything. |
- if (cleanup == scheduled_cleanup_) return; |
+ if (cleanup == scheduled_cleanup_) |
+ return; |
scheduled_cleanup_ = cleanup; |
// This cancels the previously scheduled cleanup. |
- cleanup_callback_.Reset(base::Bind( |
- &MDnsClientImpl::Core::DoCleanup, base::Unretained(this))); |
+ cleanup_callback_.Reset( |
+ base::Bind(&MDnsClientImpl::Core::DoCleanup, base::Unretained(this))); |
// If |cleanup| is empty, then no cleanup necessary. |
if (cleanup != base::Time()) { |
base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- cleanup_callback_.callback(), |
- cleanup - base::Time::Now()); |
+ FROM_HERE, cleanup_callback_.callback(), cleanup - base::Time::Now()); |
} |
} |
void MDnsClientImpl::Core::DoCleanup() { |
- cache_.CleanupRecords(base::Time::Now(), base::Bind( |
- &MDnsClientImpl::Core::OnRecordRemoved, base::Unretained(this))); |
+ cache_.CleanupRecords(base::Time::Now(), |
+ base::Bind(&MDnsClientImpl::Core::OnRecordRemoved, |
+ base::Unretained(this))); |
ScheduleCleanup(cache_.next_expiration()); |
} |
-void MDnsClientImpl::Core::OnRecordRemoved( |
- const RecordParsed* record) { |
+void MDnsClientImpl::Core::OnRecordRemoved(const RecordParsed* record) { |
AlertListeners(MDnsCache::RecordRemoved, |
- ListenerKey(record->name(), record->type()), record); |
+ ListenerKey(record->name(), record->type()), |
+ record); |
} |
void MDnsClientImpl::Core::QueryCache( |
- uint16 rrtype, const std::string& name, |
+ uint16 rrtype, |
+ const std::string& name, |
std::vector<const RecordParsed*>* records) const { |
cache_.FindDnsRecords(rrtype, name, records, base::Time::Now()); |
} |
@@ -431,13 +435,16 @@ scoped_ptr<MDnsTransaction> MDnsClientImpl::CreateTransaction( |
new MDnsTransactionImpl(rrtype, name, flags, callback, this)); |
} |
-MDnsListenerImpl::MDnsListenerImpl( |
- uint16 rrtype, |
- const std::string& name, |
- MDnsListener::Delegate* delegate, |
- MDnsClientImpl* client) |
- : rrtype_(rrtype), name_(name), client_(client), delegate_(delegate), |
- started_(false), active_refresh_(false) { |
+MDnsListenerImpl::MDnsListenerImpl(uint16 rrtype, |
+ const std::string& name, |
+ MDnsListener::Delegate* delegate, |
+ MDnsClientImpl* client) |
+ : rrtype_(rrtype), |
+ name_(name), |
+ client_(client), |
+ delegate_(delegate), |
+ started_(false), |
+ active_refresh_(false) { |
} |
MDnsListenerImpl::~MDnsListenerImpl() { |
@@ -531,29 +538,26 @@ void MDnsListenerImpl::ScheduleNextRefresh() { |
return; |
} |
- next_refresh_.Reset(base::Bind(&MDnsListenerImpl::DoRefresh, |
- AsWeakPtr())); |
+ next_refresh_.Reset(base::Bind(&MDnsListenerImpl::DoRefresh, AsWeakPtr())); |
// Schedule refreshes at both 85% and 95% of the original TTL. These will both |
// be canceled and rescheduled if the record's TTL is updated due to a |
// response being received. |
- base::Time next_refresh1 = last_update_ + base::TimeDelta::FromMilliseconds( |
- static_cast<int>(kMillisecondsPerSecond * |
- kListenerRefreshRatio1 * ttl_)); |
+ base::Time next_refresh1 = |
+ last_update_ + |
+ base::TimeDelta::FromMilliseconds(static_cast<int>( |
+ kMillisecondsPerSecond * kListenerRefreshRatio1 * ttl_)); |
- base::Time next_refresh2 = last_update_ + base::TimeDelta::FromMilliseconds( |
- static_cast<int>(kMillisecondsPerSecond * |
- kListenerRefreshRatio2 * ttl_)); |
+ base::Time next_refresh2 = |
+ last_update_ + |
+ base::TimeDelta::FromMilliseconds(static_cast<int>( |
+ kMillisecondsPerSecond * kListenerRefreshRatio2 * ttl_)); |
base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- next_refresh_.callback(), |
- next_refresh1 - base::Time::Now()); |
+ FROM_HERE, next_refresh_.callback(), next_refresh1 - base::Time::Now()); |
base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- next_refresh_.callback(), |
- next_refresh2 - base::Time::Now()); |
+ FROM_HERE, next_refresh_.callback(), next_refresh2 - base::Time::Now()); |
} |
void MDnsListenerImpl::DoRefresh() { |
@@ -566,8 +570,12 @@ MDnsTransactionImpl::MDnsTransactionImpl( |
int flags, |
const MDnsTransaction::ResultCallback& callback, |
MDnsClientImpl* client) |
- : rrtype_(rrtype), name_(name), callback_(callback), client_(client), |
- started_(false), flags_(flags) { |
+ : rrtype_(rrtype), |
+ name_(name), |
+ callback_(callback), |
+ client_(client), |
+ started_(false), |
+ flags_(flags) { |
DCHECK((flags_ & MDnsTransaction::FLAG_MASK) == flags_); |
DCHECK(flags_ & MDnsTransaction::QUERY_CACHE || |
flags_ & MDnsTransaction::QUERY_NETWORK); |
@@ -585,7 +593,8 @@ bool MDnsTransactionImpl::Start() { |
if (flags_ & MDnsTransaction::QUERY_CACHE) { |
ServeRecordsFromCache(); |
- if (!weak_this || !is_active()) return true; |
+ if (!weak_this || !is_active()) |
+ return true; |
} |
if (flags_ & MDnsTransaction::QUERY_NETWORK) { |
@@ -614,7 +623,8 @@ void MDnsTransactionImpl::CacheRecordFound(const RecordParsed* record) { |
void MDnsTransactionImpl::TriggerCallback(MDnsTransaction::Result result, |
const RecordParsed* record) { |
DCHECK(started_); |
- if (!is_active()) return; |
+ if (!is_active()) |
+ return; |
// Ensure callback is run after touching all class state, so that |
// the callback can delete the transaction. |
@@ -639,7 +649,7 @@ void MDnsTransactionImpl::Reset() { |
void MDnsTransactionImpl::OnRecordUpdate(MDnsListener::UpdateType update, |
const RecordParsed* record) { |
DCHECK(started_); |
- if (update == MDnsListener::RECORD_ADDED || |
+ if (update == MDnsListener::RECORD_ADDED || |
update == MDnsListener::RECORD_CHANGED) |
TriggerCallback(MDnsTransaction::RESULT_RECORD, record); |
} |
@@ -660,7 +670,8 @@ void MDnsTransactionImpl::ServeRecordsFromCache() { |
if (client_->core()) { |
client_->core()->QueryCache(rrtype_, name_, &records); |
for (std::vector<const RecordParsed*>::iterator i = records.begin(); |
- i != records.end() && weak_this; ++i) { |
+ i != records.end() && weak_this; |
+ ++i) { |
weak_this->TriggerCallback(MDnsTransaction::RESULT_RECORD, *i); |
} |
@@ -689,8 +700,8 @@ bool MDnsTransactionImpl::QueryAndListen() { |
if (!client_->core()->SendQuery(rrtype_, name_)) |
return false; |
- timeout_.Reset(base::Bind(&MDnsTransactionImpl::SignalTransactionOver, |
- AsWeakPtr())); |
+ timeout_.Reset( |
+ base::Bind(&MDnsTransactionImpl::SignalTransactionOver, AsWeakPtr())); |
base::MessageLoop::current()->PostDelayedTask( |
FROM_HERE, |
timeout_.callback(), |