face: UnicastEthernetTransport
Change-Id: I4d19f52835d9268f2ea63fd4e0b1a0a5aed95c47
Refs: #4011
diff --git a/daemon/face/ethernet-transport.hpp b/daemon/face/ethernet-transport.hpp
index 0777d74..8164a33 100644
--- a/daemon/face/ethernet-transport.hpp
+++ b/daemon/face/ethernet-transport.hpp
@@ -43,9 +43,9 @@
namespace face {
/**
- * \brief A multicast Transport that uses raw Ethernet II frames
+ * @brief Base class for Ethernet-based Transports
*/
-class EthernetTransport final : public Transport
+class EthernetTransport : public Transport
{
public:
class Error : public std::runtime_error
@@ -58,42 +58,29 @@
}
};
- /**
- * @brief Creates an Ethernet-based transport for multicast communication
- */
- EthernetTransport(const NetworkInterfaceInfo& interface,
- const ethernet::Address& mcastAddress,
- ndn::nfd::LinkType linkType);
-
protected:
+ EthernetTransport(const NetworkInterfaceInfo& localEndpoint,
+ const ethernet::Address& remoteEndpoint);
+
void
doClose() final;
-private:
+ /**
+ * @brief Installs a BPF filter on the receiving socket
+ * @param filterString string containing the BPF program source
+ */
void
- doSend(Transport::Packet&& packet) final;
+ setPacketFilter(const char* filterString);
+private:
/**
* @brief Allocates and initializes a libpcap context for live capture
*/
void
pcapInit();
- /**
- * @brief Installs a BPF filter on the receiving socket
- *
- * @param filterString string containing the source BPF program
- */
void
- setPacketFilter(const char* filterString);
-
- /**
- * @brief Enables receiving frames addressed to our MAC multicast group
- *
- * @return true if successful, false otherwise
- */
- bool
- joinMulticastGroup();
+ doSend(Transport::Packet&& packet) final;
/**
* @brief Sends the specified TLV block on the network wrapped in an Ethernet frame
@@ -130,7 +117,7 @@
size_t
getInterfaceMtu();
-private:
+protected:
unique_ptr<pcap_t, void(*)(pcap_t*)> m_pcap;
boost::asio::posix::stream_descriptor m_socket;
@@ -141,6 +128,7 @@
int m_interfaceIndex;
#endif
+private:
#ifdef _DEBUG
/// number of packets dropped by the kernel, as reported by libpcap
unsigned int m_nDropped;