| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4 // |   4 // | 
|   5 // A binary wrapper for QuicServer.  It listens forever on --port |   5 // A binary wrapper for QuicServer.  It listens forever on --port | 
|   6 // (default 6121) until it's killed or ctrl-cd to death. |   6 // (default 6121) until it's killed or ctrl-cd to death. | 
|   7  |   7  | 
|   8 #include <iostream> |   8 #include <iostream> | 
|   9  |   9  | 
|  10 #include "base/at_exit.h" |  10 #include "base/at_exit.h" | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  49         "-h, --help                  show this help message and exit\n" |  49         "-h, --help                  show this help message and exit\n" | 
|  50         "--port=<port>               specify the port to listen on\n" |  50         "--port=<port>               specify the port to listen on\n" | 
|  51         "--quic_in_memory_cache_dir  directory containing response data\n" |  51         "--quic_in_memory_cache_dir  directory containing response data\n" | 
|  52         "                            to load\n" |  52         "                            to load\n" | 
|  53         "--certificate_file=<file>   path to the certificate chain\n" |  53         "--certificate_file=<file>   path to the certificate chain\n" | 
|  54         "--key_file=<file>           path to the pkcs8 private key\n"; |  54         "--key_file=<file>           path to the pkcs8 private key\n"; | 
|  55     std::cout << help_str; |  55     std::cout << help_str; | 
|  56     exit(0); |  56     exit(0); | 
|  57   } |  57   } | 
|  58  |  58  | 
 |  59   net::QuicInMemoryCache in_memory_cache; | 
|  59   if (line->HasSwitch("quic_in_memory_cache_dir")) { |  60   if (line->HasSwitch("quic_in_memory_cache_dir")) { | 
|  60     net::QuicInMemoryCache::GetInstance()->InitializeFromDirectory( |  61     in_memory_cache.InitializeFromDirectory( | 
|  61         line->GetSwitchValueASCII("quic_in_memory_cache_dir")); |  62         line->GetSwitchValueASCII("quic_in_memory_cache_dir")); | 
|  62   } |  63   } | 
|  63  |  64  | 
|  64   if (line->HasSwitch("port")) { |  65   if (line->HasSwitch("port")) { | 
|  65     if (!base::StringToInt(line->GetSwitchValueASCII("port"), &FLAGS_port)) { |  66     if (!base::StringToInt(line->GetSwitchValueASCII("port"), &FLAGS_port)) { | 
|  66       LOG(ERROR) << "--port must be an integer\n"; |  67       LOG(ERROR) << "--port must be an integer\n"; | 
|  67       return 1; |  68       return 1; | 
|  68     } |  69     } | 
|  69   } |  70   } | 
|  70  |  71  | 
|  71   if (!line->HasSwitch("certificate_file")) { |  72   if (!line->HasSwitch("certificate_file")) { | 
|  72     LOG(ERROR) << "missing --certificate_file"; |  73     LOG(ERROR) << "missing --certificate_file"; | 
|  73     return 1; |  74     return 1; | 
|  74   } |  75   } | 
|  75  |  76  | 
|  76   if (!line->HasSwitch("key_file")) { |  77   if (!line->HasSwitch("key_file")) { | 
|  77     LOG(ERROR) << "missing --key_file"; |  78     LOG(ERROR) << "missing --key_file"; | 
|  78     return 1; |  79     return 1; | 
|  79   } |  80   } | 
|  80  |  81  | 
|  81   net::QuicConfig config; |  82   net::QuicConfig config; | 
|  82   net::QuicServer server( |  83   net::QuicServer server( | 
|  83       CreateProofSource(line->GetSwitchValuePath("certificate_file"), |  84       CreateProofSource(line->GetSwitchValuePath("certificate_file"), | 
|  84                         line->GetSwitchValuePath("key_file")), |  85                         line->GetSwitchValuePath("key_file")), | 
|  85       config, net::QuicCryptoServerConfig::ConfigOptions(), |  86       config, net::QuicCryptoServerConfig::ConfigOptions(), | 
|  86       net::AllSupportedVersions()); |  87       net::AllSupportedVersions(), &in_memory_cache); | 
|  87  |  88  | 
|  88   int rc = server.CreateUDPSocketAndListen( |  89   int rc = server.CreateUDPSocketAndListen( | 
|  89       net::QuicSocketAddress(net::QuicIpAddress::Any6(), FLAGS_port)); |  90       net::QuicSocketAddress(net::QuicIpAddress::Any6(), FLAGS_port)); | 
|  90   if (rc < 0) { |  91   if (rc < 0) { | 
|  91     return 1; |  92     return 1; | 
|  92   } |  93   } | 
|  93  |  94  | 
|  94   while (1) { |  95   while (1) { | 
|  95     server.WaitForEvents(); |  96     server.WaitForEvents(); | 
|  96   } |  97   } | 
|  97 } |  98 } | 
| OLD | NEW |