aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/interfaces/socket_producer.h
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2019-07-08 15:00:58 +0200
committerMauro Sardara <msardara@cisco.com>2019-07-08 16:45:04 +0200
commit63422dfdcb1cd6827e76440cc147c9eac415952a (patch)
treeaeafaffb0e1f7a68c823611609e21983f51f5d0e /libtransport/src/hicn/transport/interfaces/socket_producer.h
parent87cd4b4d22a08f1b56cd067770a29bcb05ebb845 (diff)
[HICN-242] Perform only one allocation for the whole buffer passed to produce()
Change-Id: Ib4628d0a7711e2d7175b3dbb5c152dd22616ff32 Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/interfaces/socket_producer.h')
-rw-r--r--libtransport/src/hicn/transport/interfaces/socket_producer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libtransport/src/hicn/transport/interfaces/socket_producer.h b/libtransport/src/hicn/transport/interfaces/socket_producer.h
index 744ddd86d..cd1c5a374 100644
--- a/libtransport/src/hicn/transport/interfaces/socket_producer.h
+++ b/libtransport/src/hicn/transport/interfaces/socket_producer.h
@@ -51,6 +51,12 @@ class ProducerSocket : public Socket<BasePortal>,
void connect() override;
uint32_t produce(Name content_name, const uint8_t *buffer, size_t buffer_size,
+ bool is_last = true, uint32_t start_offset = 0) {
+ return produce(content_name, utils::MemBuf::copyBuffer(buffer, buffer_size),
+ is_last, start_offset);
+ }
+
+ uint32_t produce(Name content_name, std::unique_ptr<utils::MemBuf> &&buffer,
bool is_last = true, uint32_t start_offset = 0);
void produce(ContentObject &content_object);