From bdb6ed48ba56ec9d7f2cd1ec62beb75593eb6dcb Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Mon, 17 Feb 2020 17:44:02 +0100 Subject: [HICN-524 HICN-526] Add manifest and content lifetime options to hproxy command line Change-Id: I565e4edb39b2c3d18fd9b2ef8b2a638a53b9eefe Signed-off-by: Mauro Sardara --- apps/http-proxy/main.cc | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'apps/http-proxy/main.cc') diff --git a/apps/http-proxy/main.cc b/apps/http-proxy/main.cc index 8dfaec77e..20655071c 100644 --- a/apps/http-proxy/main.cc +++ b/apps/http-proxy/main.cc @@ -19,11 +19,11 @@ using namespace transport; int usage(char* program) { std::cerr << "ICN Plugin not loaded!" << std::endl; - std::cerr - << "USAGE: " << program << "\n" - << "[HTTP_PREFIX] -a [SERVER_IP_ADDRESS] " - "-p [SERVER_PORT] -c [CACHE_SIZE] -m [MTU] -P [FIRST_IPv6_WORD_HEX]" - << std::endl; + std::cerr << "USAGE: " << program << "\n" + << "[HTTP_PREFIX] -a [SERVER_IP_ADDRESS] " + "-p [SERVER_PORT] -c [CACHE_SIZE] -m [MTU] -l [DEFAULT_LIFETIME " + "(seconds)] -P [FIRST_IPv6_WORD_HEX] -M (enable manifest)" + << std::endl; return -1; } @@ -34,9 +34,11 @@ int main(int argc, char** argv) { std::string cache_size("50000"); std::string mtu("1500"); std::string first_ipv6_word("b001"); + std::string default_content_lifetime("7200"); // seconds + bool manifest = false; int opt; - while ((opt = getopt(argc, argv, "a:p:c:m:P:")) != -1) { + while ((opt = getopt(argc, argv, "a:p:c:m:P:l:M")) != -1) { switch (opt) { case 'a': ip_address = optarg; @@ -53,6 +55,12 @@ int main(int argc, char** argv) { case 'P': first_ipv6_word = optarg; break; + case 'l': + default_content_lifetime = optarg; + break; + case 'M': + manifest = true; + break; case 'h': default: return usage(argv[0]); @@ -69,8 +77,9 @@ int main(int argc, char** argv) { std::cout << "Connecting to " << ip_address << " port " << port << " Cache size " << cache_size << " Prefix " << prefix << " MTU " << mtu << " IPv6 first word " << first_ipv6_word << std::endl; - transport::AsyncConsumerProducer proxy(prefix, ip_address, port, cache_size, - mtu, first_ipv6_word); + transport::AsyncConsumerProducer proxy( + prefix, ip_address, port, cache_size, mtu, first_ipv6_word, + std::stoul(default_content_lifetime) * 1000, manifest); proxy.run(); -- cgit 1.2.3-korg