aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Keane <rwkeane@google.com>2020-03-13 10:33:00 -0700
committerCommit Bot <commit-bot@chromium.org>2020-03-16 22:44:26 +0000
commit9170376d36ad66badba549759de9f10c61afd12a (patch)
tree26a666d0fef010e13b2f37c314007e174adb3540
parent341085a69375757298fa77187a6dbcd0d7d9bfdd (diff)
downloadopenscreen-9170376d36ad66badba549759de9f10c61afd12a.tar.gz
mDNS: Improved Receiver-Side Logging
Change-Id: Id318fd53dda291160baeb5a710e8aca0b5e12371 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2102903 Reviewed-by: Max Yakimakha <yakimakha@chromium.org> Commit-Queue: Ryan Keane <rwkeane@google.com>
-rw-r--r--discovery/mdns/mdns_querier.cc22
-rw-r--r--discovery/mdns/mdns_receiver.cc6
2 files changed, 21 insertions, 7 deletions
diff --git a/discovery/mdns/mdns_querier.cc b/discovery/mdns/mdns_querier.cc
index 3d9ac152..adc23b1c 100644
--- a/discovery/mdns/mdns_querier.cc
+++ b/discovery/mdns/mdns_querier.cc
@@ -200,30 +200,40 @@ void MdnsQuerier::OnMessageReceived(const MdnsMessage& message) {
OSP_DCHECK(task_runner_->IsRunningOnTaskRunner());
OSP_DCHECK(message.type() == MessageType::Response);
+ OSP_DVLOG << "Received mDNS Response message with "
+ << message.answers().size() << " answers and "
+ << message.additional_records().size()
+ << " additional records. Processing...";
+
// Add any records that are relevant for this querier.
bool found_relevant_records = false;
+ int processed_count = 0;
for (const MdnsRecord& record : message.answers()) {
if (ShouldAnswerRecordBeProcessed(record)) {
ProcessRecord(record);
+ OSP_DVLOG << "\tProcessing answer record for domain '"
+ << record.name().ToString() << "' of type '"
+ << record.dns_type() << "'...";
found_relevant_records = true;
+ processed_count++;
}
}
- OSP_DVLOG << "Received mDNS Response message with "
- << message.answers().size() << " answers and "
- << message.additional_records().size()
- << " additional records. Processing...";
-
// If any of the message's answers are relevant, add all additional records.
// Else, since the message has already been received and parsed, use any
// individual records relevant to this querier to update the cache.
for (const MdnsRecord& record : message.additional_records()) {
if (found_relevant_records || ShouldAnswerRecordBeProcessed(record)) {
+ OSP_DVLOG << "\tProcessing additional record for domain '"
+ << record.name().ToString() << "' of type '"
+ << record.dns_type() << "'...";
ProcessRecord(record);
+ processed_count++;
}
}
- OSP_DVLOG << "\tmDNS Response processed!";
+ OSP_DVLOG << "\tmDNS Response processed (" << processed_count
+ << " records accepted)!";
// TODO(crbug.com/openscreen/83): Check authority records.
// TODO(crbug.com/openscreen/84): Cap size of cache, to avoid memory blowups
diff --git a/discovery/mdns/mdns_receiver.cc b/discovery/mdns/mdns_receiver.cc
index 1f9b95da..8dc9fdd1 100644
--- a/discovery/mdns/mdns_receiver.cc
+++ b/discovery/mdns/mdns_receiver.cc
@@ -69,14 +69,18 @@ void MdnsReceiver::OnRead(UdpSocket* socket,
return;
}
- OSP_DVLOG << "Received new mDNS Message";
if (message.type() == MessageType::Response) {
for (ResponseClient* client : response_clients_) {
client->OnMessageReceived(message);
}
+ if (response_clients_.empty()) {
+ OSP_DVLOG << "Response message dropped. No response client registered...";
+ }
} else {
if (query_callback_) {
query_callback_(message, packet.source());
+ } else {
+ OSP_DVLOG << "Query message dropped. No query client registered...";
}
}
}