diff options
author | Mauro Sardara <msardara@cisco.com> | 2020-02-17 17:44:02 +0100 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2020-02-17 17:47:01 +0100 |
commit | bdb6ed48ba56ec9d7f2cd1ec62beb75593eb6dcb (patch) | |
tree | 9c5660d9ee4e32dd33d3d2c3932a832c36810e42 /apps/http-proxy/src | |
parent | c77f6b381fe29331c72f8abc6fdd4a4d3286f87b (diff) |
[HICN-524 HICN-526] Add manifest and content lifetime options to hproxy command line
Change-Id: I565e4edb39b2c3d18fd9b2ef8b2a638a53b9eefe
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'apps/http-proxy/src')
-rw-r--r-- | apps/http-proxy/src/IcnReceiver.cc | 11 | ||||
-rw-r--r-- | apps/http-proxy/src/IcnReceiver.h | 5 |
2 files changed, 11 insertions, 5 deletions
diff --git a/apps/http-proxy/src/IcnReceiver.cc b/apps/http-proxy/src/IcnReceiver.cc index 8d0fb4917..cc47e2ed4 100644 --- a/apps/http-proxy/src/IcnReceiver.cc +++ b/apps/http-proxy/src/IcnReceiver.cc @@ -55,7 +55,8 @@ core::Prefix generatePrefix(const std::string& prefix_url, AsyncConsumerProducer::AsyncConsumerProducer( const std::string& prefix, std::string& ip_address, std::string& port, - std::string& cache_size, std::string& mtu, std::string& first_ipv6_word) + std::string& cache_size, std::string& mtu, std::string& first_ipv6_word, + unsigned long default_lifetime, bool manifest) : prefix_(generatePrefix(prefix, first_ipv6_word)), producer_socket_(), ip_address_(ip_address), @@ -71,7 +72,8 @@ AsyncConsumerProducer::AsyncConsumerProducer( [this]() { std::queue<interface::PublicationOptions> empty; std::swap(response_name_queue_, empty); - }) { + }), + default_content_lifetime_(default_lifetime) { int ret = producer_socket_.setSocketOption( interface::GeneralTransportOptions::OUTPUT_BUFFER_SIZE, cache_size_); @@ -80,7 +82,7 @@ AsyncConsumerProducer::AsyncConsumerProducer( } ret = producer_socket_.setSocketOption( - interface::GeneralTransportOptions::MAKE_MANIFEST, true); + interface::GeneralTransportOptions::MAKE_MANIFEST, manifest); if (ret != SOCKET_OPTION_SET) { TRANSPORT_LOGD("Warning: impossible to enable signatures."); @@ -166,7 +168,8 @@ void AsyncConsumerProducer::manageIncomingInterest( pair.first->second.second = true; - response_name_queue_.emplace(std::move(name), is_mpd ? 1000 : 100000); + response_name_queue_.emplace(std::move(name), + is_mpd ? 1000 : default_content_lifetime_); connector_.send(payload, [packet = std::move(packet)]() {}); } diff --git a/apps/http-proxy/src/IcnReceiver.h b/apps/http-proxy/src/IcnReceiver.h index 67f615ad7..9d0ab5172 100644 --- a/apps/http-proxy/src/IcnReceiver.h +++ b/apps/http-proxy/src/IcnReceiver.h @@ -36,7 +36,8 @@ class AsyncConsumerProducer { explicit AsyncConsumerProducer(const std::string& prefix, std::string& ip_address, std::string& port, std::string& cache_size, std::string& mtu, - std::string& first_ipv6_word); + std::string& first_ipv6_word, + unsigned long default_content_lifetime, bool manifest); void start(); @@ -69,6 +70,8 @@ class AsyncConsumerProducer { // connection_map_; ATSConnector connector_; + unsigned long default_content_lifetime_; + // ResponseInfoMap --> max_seq_number + bool indicating whether request is in // production ResponseInfoMap chunk_number_map_; |