From 1c23af13954a151ec56ca3b0372f369db160b80a Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Mon, 2 Dec 2019 16:32:33 +0100 Subject: [HICN-426] Add isRunning API to consumer and producer socket. Change-Id: I5a144f804b87c3575f24c57ba5086136ec02efcd Signed-off-by: Mauro Sardara --- libtransport/src/hicn/transport/interfaces/socket.h | 2 ++ libtransport/src/hicn/transport/interfaces/socket_consumer.h | 5 +++++ libtransport/src/hicn/transport/interfaces/socket_producer.h | 2 ++ 3 files changed, 9 insertions(+) (limited to 'libtransport/src/hicn') diff --git a/libtransport/src/hicn/transport/interfaces/socket.h b/libtransport/src/hicn/transport/interfaces/socket.h index f0194880a..4c9bda7df 100644 --- a/libtransport/src/hicn/transport/interfaces/socket.h +++ b/libtransport/src/hicn/transport/interfaces/socket.h @@ -78,6 +78,8 @@ class Socket { virtual void connect() = 0; + virtual bool isRunning() = 0; + protected: virtual ~Socket(){}; diff --git a/libtransport/src/hicn/transport/interfaces/socket_consumer.h b/libtransport/src/hicn/transport/interfaces/socket_consumer.h index eceee2d34..0f83fd38f 100644 --- a/libtransport/src/hicn/transport/interfaces/socket_consumer.h +++ b/libtransport/src/hicn/transport/interfaces/socket_consumer.h @@ -158,6 +158,11 @@ class ConsumerSocket : public BaseSocket { */ void connect() override; + /** + * @brief Check whether consumer socket is active or not. + */ + bool isRunning() override { return transport_protocol_->isRunning(); } + /** * Retrieve a content using the protocol specified in the constructor. * This function blocks until the whole content is downloaded. diff --git a/libtransport/src/hicn/transport/interfaces/socket_producer.h b/libtransport/src/hicn/transport/interfaces/socket_producer.h index 1f1acd401..83d0f73f3 100644 --- a/libtransport/src/hicn/transport/interfaces/socket_producer.h +++ b/libtransport/src/hicn/transport/interfaces/socket_producer.h @@ -51,6 +51,8 @@ class ProducerSocket : public Socket, void connect() override; + bool isRunning() override { return !io_service_.stopped(); }; + 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), -- cgit 1.2.3-korg