aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/core/content_object.cc
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/content_object.cc
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/content_object.cc')
-rw-r--r--libtransport/src/hicn/transport/core/content_object.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/libtransport/src/hicn/transport/core/content_object.cc b/libtransport/src/hicn/transport/core/content_object.cc
index c00535512..df16923e9 100644
--- a/libtransport/src/hicn/transport/core/content_object.cc
+++ b/libtransport/src/hicn/transport/core/content_object.cc
@@ -81,6 +81,15 @@ ContentObject::ContentObject(ContentObject &&other) : Packet(std::move(other)) {
ContentObject::~ContentObject() {}
+void ContentObject::replace(MemBufPtr &&buffer) {
+ Packet::replace(std::move(buffer));
+
+ if (hicn_data_get_name(format_, (hicn_header_t *)packet_start_,
+ name_.getStructReference()) < 0) {
+ throw errors::RuntimeException("Error getting name from content object.");
+ }
+}
+
const Name &ContentObject::getName() const {
if (!name_) {
if (hicn_data_get_name(format_, (hicn_header_t *)packet_start_,
@@ -94,7 +103,7 @@ const Name &ContentObject::getName() const {
Name &ContentObject::getWritableName() { return const_cast<Name &>(getName()); }
-ContentObject &ContentObject::setName(const Name &name) {
+void ContentObject::setName(const Name &name) {
if (hicn_data_set_name(format_, (hicn_header_t *)packet_start_,
name.getStructReference()) < 0) {
throw errors::RuntimeException("Error setting content object name.");
@@ -104,8 +113,6 @@ ContentObject &ContentObject::setName(const Name &name) {
name_.getStructReference()) < 0) {
throw errors::MalformedPacketException();
}
-
- return *this;
}
void ContentObject::setName(Name &&name) {