net: support multiple concurrent netlink requests

In preparation for generic netlink support

Change-Id: I3f648518800176015cf7435b4e61e6e73c83e796
Refs: #4020
diff --git a/src/net/detail/network-monitor-impl-netlink.cpp b/src/net/detail/network-monitor-impl-netlink.cpp
index 71a1ace..80385c1 100644
--- a/src/net/detail/network-monitor-impl-netlink.cpp
+++ b/src/net/detail/network-monitor-impl-netlink.cpp
@@ -49,10 +49,11 @@
     m_rtnlSocket.joinGroup(group);
   }
 
-  m_rtnlSocket.startAsyncReceive([this] (const auto& msg) { this->parseRtnlMessage(msg); });
+  m_rtnlSocket.registerNotificationCallback([this] (const auto& msg) { this->parseRtnlMessage(msg); });
 
   NDN_LOG_TRACE("enumerating links");
-  m_rtnlSocket.sendDumpRequest(RTM_GETLINK);
+  m_rtnlSocket.sendDumpRequest(RTM_GETLINK,
+                               [this] (const auto& msg) { this->parseRtnlMessage(msg); });
   m_isEnumeratingLinks = true;
 }
 
@@ -114,7 +115,8 @@
       // links enumeration complete, now request all the addresses
       m_isEnumeratingLinks = false;
       NDN_LOG_TRACE("enumerating addresses");
-      m_rtnlSocket.sendDumpRequest(RTM_GETADDR);
+      m_rtnlSocket.sendDumpRequest(RTM_GETADDR,
+                                   [this] (const auto& msg) { this->parseRtnlMessage(msg); });
       m_isEnumeratingAddresses = true;
     }
     else if (m_isEnumeratingAddresses) {