diff options
Diffstat (limited to 'libtransport/src/hicn/transport/core/packet.h')
-rw-r--r-- | libtransport/src/hicn/transport/core/packet.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libtransport/src/hicn/transport/core/packet.h b/libtransport/src/hicn/transport/core/packet.h index add830c1e..78dbeae07 100644 --- a/libtransport/src/hicn/transport/core/packet.h +++ b/libtransport/src/hicn/transport/core/packet.h @@ -93,6 +93,8 @@ class Packet : public std::enable_shared_from_this<Packet> { static Format getFormatFromBuffer(const uint8_t *buffer); + virtual void replace(MemBufPtr &&buffer); + std::size_t payloadSize() const; std::size_t headerSize() const; @@ -101,12 +103,16 @@ class Packet : public std::enable_shared_from_this<Packet> { const uint8_t *start() const; - virtual void setLifetime(uint32_t lifetime); - virtual const Name &getName() const = 0; virtual Name &getWritableName() = 0; + virtual void setName(const Name &name) = 0; + + virtual void setName(Name &&name) = 0; + + virtual void setLifetime(uint32_t lifetime); + virtual uint32_t getLifetime() const; Packet &appendPayload(const uint8_t *buffer, std::size_t length); @@ -179,6 +185,7 @@ class Packet : public std::enable_shared_from_this<Packet> { void setSignatureSize(std::size_t size_bytes); std::size_t getSignatureSize() const; uint8_t *getSignature() const; + void separateHeaderPayload(); protected: Name name_; |