You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ma...@apache.org on 2018/04/23 07:30:40 UTC

[trafficserver] 01/02: Add QUICClientConfig

This is an automated email from the ASF dual-hosted git repository.

masaori pushed a commit to branch quic-latest
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 36b9f22cb5d0d97f6f73a9a86f857bb80c8a8b76
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Mon Apr 23 16:19:27 2018 +0900

    Add QUICClientConfig
---
 cmd/traffic_quic/quic_client.cc  |  9 +++++++--
 cmd/traffic_quic/quic_client.h   | 17 +++++++++--------
 cmd/traffic_quic/traffic_quic.cc | 17 +++++++----------
 3 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/cmd/traffic_quic/quic_client.cc b/cmd/traffic_quic/quic_client.cc
index 2729f6d..7f10fd4 100644
--- a/cmd/traffic_quic/quic_client.cc
+++ b/cmd/traffic_quic/quic_client.cc
@@ -23,6 +23,11 @@
 
 #include "quic_client.h"
 
+QUICClient::~QUICClient(const QUICClientConfig *config) : Continuation(new_ProxyMutex()), _config(config)
+{
+  SET_HANDLER(&QUICClient::start);
+}
+
 QUICClient::~QUICClient()
 {
   freeaddrinfo(this->_remote_addr_info);
@@ -41,7 +46,7 @@ QUICClient::start(int, void *)
   hints.ai_flags    = 0;
   hints.ai_protocol = 0;
 
-  int res = getaddrinfo(this->_remote_addr, this->_remote_port, &hints, &this->_remote_addr_info);
+  int res = getaddrinfo(this->_config->addr, this->_config->port, &hints, &this->_remote_addr_info);
   if (res < 0) {
     Debug("quic_client", "Error: %s (%d)", strerror(errno), errno);
     return EVENT_DONE;
@@ -76,7 +81,7 @@ QUICClient::state_http_server_open(int event, void *data)
 
     QUICNetVConnection *conn = static_cast<QUICNetVConnection *>(data);
     QUICClientApp *app       = new QUICClientApp(conn);
-    app->start(this->_path);
+    app->start(this->_config->path);
 
     break;
   }
diff --git a/cmd/traffic_quic/quic_client.h b/cmd/traffic_quic/quic_client.h
index 15071c3..8a13a49 100644
--- a/cmd/traffic_quic/quic_client.h
+++ b/cmd/traffic_quic/quic_client.h
@@ -30,24 +30,25 @@
 
 #include "QUICApplication.h"
 
+struct QUICClientConfig {
+  char addr[1024]       = "127.0.0.1";
+  char port[16]         = "4433";
+  char path[1018]       = "/";
+  char debug_tags[1024] = "quic";
+};
+
 class QUICClient : public Continuation
 {
 public:
-  QUICClient(const char *addr, const char *port, const char *path)
-    : Continuation(new_ProxyMutex()), _remote_addr(addr), _remote_port(port), _path(path)
-  {
-    SET_HANDLER(&QUICClient::start);
-  };
+  QUICClient(const QUICClientConfig *config);
   ~QUICClient();
 
   int start(int, void *);
   int state_http_server_open(int event, void *data);
 
 private:
-  const char *_remote_addr           = nullptr;
-  const char *_remote_port           = nullptr;
+  const QUICClientConfig *_config    = nullptr;
   struct addrinfo *_remote_addr_info = nullptr;
-  const char *_path                  = nullptr;
 };
 
 class QUICClientApp : public QUICApplication
diff --git a/cmd/traffic_quic/traffic_quic.cc b/cmd/traffic_quic/traffic_quic.cc
index 2098d49..7e85b38 100644
--- a/cmd/traffic_quic/traffic_quic.cc
+++ b/cmd/traffic_quic/traffic_quic.cc
@@ -49,16 +49,13 @@ main(int argc, const char **argv)
   AppVersionInfo appVersionInfo;
   appVersionInfo.setup(PACKAGE_NAME, "traffic_quic", PACKAGE_VERSION, __DATE__, __TIME__, BUILD_MACHINE, BUILD_PERSON, "");
 
-  char addr[1024]       = "127.0.0.1";
-  char port[16]         = "4433";
-  char path[1018]       = "/";
-  char debug_tags[1024] = "quic";
+  QUICClientConfig config;
 
   const ArgumentDescription argument_descriptions[] = {
-    {"addr", 'a', "Address", "S1023", addr, nullptr, nullptr},
-    {"port", 'p', "Port", "S15", port, nullptr, nullptr},
-    {"path", 'P', "Path", "S1017", path, nullptr, nullptr},
-    {"debug", 'T', "Vertical-bar-separated Debug Tags", "S1023", debug_tags, nullptr, nullptr},
+    {"addr", 'a', "Address", "S1023", config.addr, nullptr, nullptr},
+    {"port", 'p', "Port", "S15", config.port, nullptr, nullptr},
+    {"path", 'P', "Path", "S1017", config.path, nullptr, nullptr},
+    {"debug", 'T', "Vertical-bar-separated Debug Tags", "S1023", config.debug_tags, nullptr, nullptr},
     HELP_ARGUMENT_DESCRIPTION(),
     VERSION_ARGUMENT_DESCRIPTION(),
     RUNROOT_ARGUMENT_DESCRIPTION(),
@@ -67,7 +64,7 @@ main(int argc, const char **argv)
   // Process command line arguments and dump into variables
   process_args(&appVersionInfo, argument_descriptions, countof(argument_descriptions), argv);
 
-  init_diags(debug_tags, nullptr);
+  init_diags(config.debug_tags, nullptr);
   RecProcessInit(RECM_STAND_ALONE);
   LibRecordsConfigInit();
 
@@ -89,7 +86,7 @@ main(int argc, const char **argv)
   udpNet.start(1, stacksize);
   quic_NetProcessor.start(-1, stacksize);
 
-  QUICClient client(addr, port, path);
+  QUICClient client(&config);
   eventProcessor.schedule_in(&client, 1, ET_NET);
 
   this_thread()->execute();

-- 
To stop receiving notification emails like this one, please contact
masaori@apache.org.