diff options
author | Mauro Sardara <msardara@cisco.com> | 2019-07-08 15:00:58 +0200 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2019-07-08 16:45:04 +0200 |
commit | 63422dfdcb1cd6827e76440cc147c9eac415952a (patch) | |
tree | aeafaffb0e1f7a68c823611609e21983f51f5d0e /libtransport/src/hicn/transport/interfaces/socket_producer.h | |
parent | 87cd4b4d22a08f1b56cd067770a29bcb05ebb845 (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.h | 6 |
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); |