From 1ad06afe9f952642a26f4d28239cf05eb3283eb7 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Tue, 19 Mar 2019 14:26:52 +0100 Subject: [HICN-6] ATS Working, little refactoring of apps Change-Id: I174815b70bf3a9fbe99ffab7dd2914be04d364b9 Signed-off-by: Mauro Sardara --- .../hicn/transport/interfaces/full_duplex_socket.cc | 16 ++++++++-------- .../hicn/transport/interfaces/full_duplex_socket.h | 7 ------- .../hicn/transport/interfaces/publication_options.h | 19 ++++++++++++++----- 3 files changed, 22 insertions(+), 20 deletions(-) (limited to 'libtransport/src/hicn/transport/interfaces') diff --git a/libtransport/src/hicn/transport/interfaces/full_duplex_socket.cc b/libtransport/src/hicn/transport/interfaces/full_duplex_socket.cc index 2e180cf34..fdd422dee 100644 --- a/libtransport/src/hicn/transport/interfaces/full_duplex_socket.cc +++ b/libtransport/src/hicn/transport/interfaces/full_duplex_socket.cc @@ -187,14 +187,14 @@ void AsyncFullDuplexSocket::write(WriteCallback *callback, const void *buf, if (bytes > core::Packet::default_mtu - sizeof(PayloadMessage)) { TRANSPORT_LOGI("Producing content with name %s", - options.name.toString().c_str()); - producer_->asyncProduce(options.name, + options.getName().toString().c_str()); + producer_->asyncProduce(options.getName(), reinterpret_cast(buf), bytes); - signalProductionToSubscribers(options.name); + signalProductionToSubscribers(options.getName()); } else { TRANSPORT_LOGI("Sending payload through interest"); piggybackPayloadToSubscribers( - options.name, reinterpret_cast(buf), bytes); + options.getName(), reinterpret_cast(buf), bytes); } } @@ -212,12 +212,12 @@ void AsyncFullDuplexSocket::write(WriteCallback *callback, if (output_buffer->size() > core::Packet::default_mtu - sizeof(PayloadMessage)) { TRANSPORT_LOGI("Producing content with name %s", - options.name.toString().c_str()); - producer_->asyncProduce(options.name, std::move(output_buffer)); - signalProductionToSubscribers(options.name); + options.getName().toString().c_str()); + producer_->asyncProduce(options.getName(), std::move(output_buffer)); + signalProductionToSubscribers(options.getName()); } else { TRANSPORT_LOGI("Sending payload through interest"); - piggybackPayloadToSubscribers(options.name, &(*output_buffer)[0], + piggybackPayloadToSubscribers(options.getName(), &(*output_buffer)[0], output_buffer->size()); } } diff --git a/libtransport/src/hicn/transport/interfaces/full_duplex_socket.h b/libtransport/src/hicn/transport/interfaces/full_duplex_socket.h index 1d7ad3cb1..438325fdb 100644 --- a/libtransport/src/hicn/transport/interfaces/full_duplex_socket.h +++ b/libtransport/src/hicn/transport/interfaces/full_duplex_socket.h @@ -139,13 +139,6 @@ class AsyncFullDuplexSocket : public AsyncSocket, void waitForSubscribers(AcceptCallback *cb) override; - // void writev( - // WriteCallback* callback, - // const iovec* vec, - // size_t count, - // Name &&content_to_publish_name, - // WriteFlags flags = WriteFlags::NONE) override; - void close() override; void closeNow() override; diff --git a/libtransport/src/hicn/transport/interfaces/publication_options.h b/libtransport/src/hicn/transport/interfaces/publication_options.h index ae5366ce7..6910e5371 100644 --- a/libtransport/src/hicn/transport/interfaces/publication_options.h +++ b/libtransport/src/hicn/transport/interfaces/publication_options.h @@ -15,9 +15,7 @@ #pragma once -#include -#include -#include +#include namespace transport { @@ -25,8 +23,19 @@ namespace interface { class PublicationOptions { public: - core::Name name; - uint32_t content_lifetime_milliseconds; + template + PublicationOptions(T&& name, uint32_t lifetime) + : name_(std::forward(name)), + content_lifetime_milliseconds_(lifetime) {} + + TRANSPORT_ALWAYS_INLINE const core::Name& getName() const { return name_; } + TRANSPORT_ALWAYS_INLINE uint32_t getLifetime() const { + return content_lifetime_milliseconds_; + } + + private: + core::Name name_; + uint32_t content_lifetime_milliseconds_; // TODO Signature }; } // namespace interface -- cgit 1.2.3-korg