aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/interfaces
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2019-03-19 14:26:52 +0100
committerMauro Sardara <msardara@cisco.com>2019-03-23 15:05:53 +0100
commit1ad06afe9f952642a26f4d28239cf05eb3283eb7 (patch)
tree1ea58529d64a38597cd09f78653cc784c4b61d79 /libtransport/src/hicn/transport/interfaces
parente6d4612011483b267dc9f47c5d2b2444dd88f402 (diff)
[HICN-6] ATS Working, little refactoring of apps
Change-Id: I174815b70bf3a9fbe99ffab7dd2914be04d364b9 Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/interfaces')
-rw-r--r--libtransport/src/hicn/transport/interfaces/full_duplex_socket.cc16
-rw-r--r--libtransport/src/hicn/transport/interfaces/full_duplex_socket.h7
-rw-r--r--libtransport/src/hicn/transport/interfaces/publication_options.h19
3 files changed, 22 insertions, 20 deletions
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<const uint8_t *>(buf), bytes);
- signalProductionToSubscribers(options.name);
+ signalProductionToSubscribers(options.getName());
} else {
TRANSPORT_LOGI("Sending payload through interest");
piggybackPayloadToSubscribers(
- options.name, reinterpret_cast<const uint8_t *>(buf), bytes);
+ options.getName(), reinterpret_cast<const uint8_t *>(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 <map>
-#include <sstream>
-#include <vector>
+#include <hicn/transport/core/name.h>
namespace transport {
@@ -25,8 +23,19 @@ namespace interface {
class PublicationOptions {
public:
- core::Name name;
- uint32_t content_lifetime_milliseconds;
+ template <typename T>
+ PublicationOptions(T&& name, uint32_t lifetime)
+ : name_(std::forward<T&&>(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