mgmt+face: allow MTU of datagram faces to be overridden
refs #4005
Change-Id: I01d98b88cdee41b633f6fb9a5600088efe8de749
diff --git a/daemon/face/transport.hpp b/daemon/face/transport.hpp
index a9768e5..a0a97a0 100644
--- a/daemon/face/transport.hpp
+++ b/daemon/face/transport.hpp
@@ -202,13 +202,6 @@
void
send(Packet&& packet);
-protected: // upper interface to be invoked by subclass
- /** \brief receive a link-layer packet
- * \warning undefined behavior if packet size exceeds MTU limit
- */
- void
- receive(Packet&& packet);
-
public: // static properties
/** \return a FaceUri representing local endpoint
*/
@@ -291,7 +284,17 @@
* \retval QUEUE_ERROR transport was unable to retrieve the queue length
*/
virtual ssize_t
- getSendQueueLength();
+ getSendQueueLength()
+ {
+ return QUEUE_UNSUPPORTED;
+ }
+
+protected: // upper interface to be invoked by subclass
+ /** \brief receive a link-layer packet
+ * \warning undefined behavior if packet size exceeds MTU limit
+ */
+ void
+ receive(Packet&& packet);
protected: // properties to be set by subclass
void
@@ -363,6 +366,13 @@
virtual void
doSend(Packet&& packet) = 0;
+public:
+ /** \brief minimum MTU that may be set on a transport
+ *
+ * This is done to ensure the NDNLPv2 fragmentation feature functions properly.
+ */
+ static constexpr ssize_t MIN_MTU = 64;
+
private:
Face* m_face;
LinkService* m_service;