1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-22 18:25:57 +01:00

add advertised_size method

This commit is contained in:
Jens Keim
2019-01-15 12:52:02 +01:00
committed by pepper-jk
parent 776ae4e83b
commit 2a8101eef3
3 changed files with 18 additions and 0 deletions

View File

@@ -281,6 +281,10 @@ public:
/* Getters */
uint32_t advertised_size() const {
return static_cast<uint32_t>(tot_len());
}
/**
* \brief Getter for the header length field.
*

View File

@@ -281,6 +281,12 @@ public:
*/
uint32_t size() const;
/** \brief The whole chain of PDU's advertised size, including this one.
*
* Returns the sum of this and all children PDU's advertised size.
*/
virtual uint32_t advertised_size() const;
/**
* \brief Getter for the inner PDU.
* \return The current inner PDU. Might be a null pointer.

View File

@@ -85,6 +85,14 @@ uint32_t PDU::size() const {
return sz;
}
uint32_t PDU::advertised_size() const {
uint32_t result = header_size() + trailer_size();
if (inner_pdu_) {
result += inner_pdu()->advertised_size();
}
return result;
}
void PDU::send(PacketSender &, const NetworkInterface &) {
}