aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/core/packet.h
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2019-02-20 14:32:42 +0100
committerMauro Sardara <msardara@cisco.com>2019-03-05 11:42:39 +0100
commit9d0002e5cb97d939f2f74ab1e635b616d634e7db (patch)
tree730e4240a637264f859b3b7efeeb8fb83d476f3d /libtransport/src/hicn/transport/core/packet.h
parent6d7704c1b497341fd6dd3c27e3f64d0db062ccc2 (diff)
[HICN-73] Performance improvements of interest/data transmission and reception at low level in the stack (portal.h)
Change-Id: I1525726f52040f1609e284bb9b995ea8794c5d5e Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/core/packet.h')
-rw-r--r--libtransport/src/hicn/transport/core/packet.h11
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_;