You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2017/10/19 21:21:26 UTC

[trafficserver] 01/02: Merge branch 'master' into quic-latest

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

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

commit 32106e9394162fcddb3665229144d038417c31f0
Merge: d48631f ff8b8a1
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Thu Oct 19 10:58:57 2017 -0600

    Merge branch 'master' into quic-latest
    
    * master: (32 commits)
      add http 0.9 in find_proto_string
      Add MIOBufferWriter class which writes to an MIOBuffer instance.
      event loop changes
      use os.path.join
      added plugin exists condition
      Added skip condition on http2 test for lack of curl http2
      CID 1196423: Error handling issues  (CHECKED_RETURN)
      UDPBind with EventIO of UnixUDPConnection.
      Optimize: rename close_UnixNetVConnection to NetHandler::free_netvc.
      Allow binding value to non-nil variable in LuaVM for configuration files evaluations. This allows us to fix issue #2511.
      Tests for chunked POST over HTTP1.1 and HTTP2 and GET chunked over HTTP1.1
      fix the missing lock in TSVConnFdCreate api
      Checking the retval of safe_getsockname() and safe_getpeername()
      optimze: move http 408 response logic into transaction
      log when ssl_multicert.config is successfully reloaded
      Optimize: If failed on migrateToCurrentThread, put the server session back to global server session pool
      This removes the FILE_WRITE mechanism from the core
      remove unnecessary assertion for "alternate"
      we have set the NO_FD in close already
      Fix prepare_plugin
      ...
    
     Conflicts:
    	lib/records/RecHttp.cc
    	lib/ts/ink_inet.cc
    	lib/ts/ink_inet.h

 .gitignore                                         |    2 +
 Makefile.am                                        |    2 +
 README                                             |    2 +-
 cmd/traffic_layout/engine.cc                       |    5 +-
 cmd/traffic_layout/file_system.cc                  |    4 +-
 cmd/traffic_layout/traffic_layout.cc               |    1 -
 cmd/traffic_manager/test_metrics.cc                |   37 +
 cmd/traffic_manager/traffic_manager.cc             |    9 +-
 configure.ac                                       |    2 +-
 doc/Makefile.am                                    |    2 +
 doc/admin-guide/files/records.config.en.rst        |    6 -
 doc/admin-guide/plugins/ts_lua.en.rst              |    1 +
 .../api/types/TSOverridableConfigKey.en.rst        |    1 +
 example/remap/remap.cc                             |   13 +-
 example/ssl_preaccept/ssl_preaccept.cc             |   22 +-
 iocore/aio/AIO.cc                                  |    2 +-
 iocore/aio/I_AIO.h                                 |    8 +-
 iocore/aio/P_AIO.h                                 |   10 +-
 iocore/aio/test_AIO.cc                             |    2 +-
 iocore/cache/Cache.cc                              |   34 +-
 iocore/cache/CacheHosting.cc                       |    2 +-
 iocore/cache/CachePagesInternal.cc                 |    2 +-
 iocore/cache/CacheRead.cc                          |    1 -
 iocore/cache/I_Cache.h                             |    6 +-
 iocore/cache/P_CacheDir.h                          |    4 +-
 iocore/cache/P_CacheHosting.h                      |    4 +-
 iocore/cache/P_CacheInternal.h                     |   10 +-
 iocore/cache/P_CacheTest.h                         |    2 +-
 iocore/cache/P_CacheVol.h                          |    2 +-
 iocore/eventsystem/I_Action.h                      |    2 +-
 iocore/eventsystem/I_EThread.h                     |   55 +-
 iocore/eventsystem/I_EventProcessor.h              |    4 +-
 iocore/eventsystem/I_Lock.h                        |    3 +-
 iocore/eventsystem/I_MIOBufferWriter.h             |  174 ++
 iocore/eventsystem/I_ProtectedQueue.h              |    2 +
 iocore/eventsystem/Makefile.am                     |    9 +-
 iocore/eventsystem/P_UnixEThread.h                 |    6 +
 iocore/eventsystem/ProtectedQueue.cc               |   93 +-
 iocore/eventsystem/UnixEThread.cc                  |  213 +--
 .../eventsystem/unit-tests/test_MIOBufferWriter.cc |  217 +++
 iocore/hostdb/P_HostDBProcessor.h                  |    1 +
 iocore/net/Connection.cc                           |    1 -
 iocore/net/I_NetVConnection.h                      |   12 +-
 iocore/net/NetVConnection.cc                       |    4 +-
 iocore/net/P_SSLNetVConnection.h                   |   19 +-
 iocore/net/P_UnixNet.h                             |   82 +-
 iocore/net/P_UnixNetState.h                        |    2 +-
 iocore/net/P_UnixNetVConnection.h                  |   12 +-
 iocore/net/SSLConfig.cc                            |    6 +
 iocore/net/SSLNetVConnection.cc                    |   47 +-
 iocore/net/SSLUtils.cc                             |   13 +-
 iocore/net/UnixNet.cc                              |  106 +-
 iocore/net/UnixNetAccept.cc                        |   11 +-
 iocore/net/UnixNetProcessor.cc                     |    2 +-
 iocore/net/UnixNetVConnection.cc                   |  171 +-
 iocore/net/UnixUDPNet.cc                           |    3 +-
 lib/bindings/bindings.cc                           |   39 +-
 lib/cppapi/Logger.cc                               |    2 +-
 lib/perl/lib/Apache/TS/AdminClient.pm              |   44 +-
 lib/records/I_RecCore.h                            |    3 -
 lib/records/RecCore.cc                             |    9 -
 lib/records/RecHttp.cc                             |   34 +-
 lib/records/RecRawStats.cc                         |    2 +-
 lib/ts/BaseLogFile.h                               |    8 +-
 lib/ts/Diags.h                                     |    2 +-
 lib/ts/Makefile.am                                 |   13 +-
 lib/ts/Ptr.h                                       |    2 +-
 lib/ts/{MemView.cc => TextView.cc}                 |   41 +-
 lib/ts/{MemView.h => TextView.h}                   | 1885 ++++++++++----------
 lib/ts/ink_aiocb.h                                 |    2 +-
 lib/ts/ink_atomic.h                                |   24 +-
 lib/ts/ink_inet.cc                                 |  199 +--
 lib/ts/ink_inet.h                                  |   59 +-
 lib/ts/ink_queue.cc                                |   10 +-
 lib/ts/ink_queue.h                                 |    4 +-
 lib/ts/ink_queue_utils.cc                          |    4 +-
 lib/ts/ink_res_init.cc                             |    2 +-
 lib/ts/ink_resource.cc                             |    2 +-
 lib/ts/ink_resource.h                              |    2 +-
 lib/ts/string_view.h                               |   18 +
 lib/ts/test_MemView.cc                             |   96 -
 lib/ts/test_atomic.cc                              |    4 +-
 lib/ts/unit-tests/test_TextView.cc                 |  147 ++
 lib/ts/unit-tests/test_ink_inet.cc                 |   82 +
 lib/ts/unit-tests/test_layout.cc                   |    3 +
 lib/ts/unit-tests/test_string_view.cc              |    5 +
 mgmt/FileManager.cc                                |  529 ------
 mgmt/FileManager.h                                 |   51 +-
 mgmt/LocalManager.cc                               |    7 +-
 mgmt/LocalManager.h                                |   24 +-
 mgmt/Makefile.am                                   |    2 -
 mgmt/MultiFile.cc                                  |  241 ---
 mgmt/MultiFile.h                                   |   82 -
 mgmt/ProcessManager.h                              |    2 +-
 mgmt/ProxyConfig.cc                                |    4 +-
 mgmt/RecordsConfig.cc                              |    2 -
 mgmt/WebMgmtUtils.cc                               |   92 -
 mgmt/WebMgmtUtils.h                                |    4 -
 mgmt/api/APITestCliRemote.cc                       |  345 ----
 mgmt/api/CfgContextManager.cc                      |   71 -
 mgmt/api/CfgContextManager.h                       |    1 -
 mgmt/api/CoreAPI.cc                                |  145 --
 mgmt/api/CoreAPI.h                                 |    9 -
 mgmt/api/CoreAPIRemote.cc                          |   74 -
 mgmt/api/EventControlMain.cc                       |    5 -
 mgmt/api/INKMgmtAPI.cc                             |   37 -
 mgmt/api/NetworkMessage.cc                         |   15 -
 mgmt/api/NetworkMessage.h                          |    5 -
 mgmt/api/TSControlMain.cc                          |  135 --
 mgmt/api/include/mgmtapi.h                         |   45 -
 plugins/background_fetch/configs.h                 |    2 +-
 plugins/experimental/memcache/tsmemcache.cc        |    6 +-
 plugins/experimental/memcache/tsmemcache.h         |    6 +-
 .../ssl_cert_loader/ssl-cert-loader.cc             |   18 +-
 plugins/gzip/configuration.h                       |    2 +-
 plugins/header_rewrite/conditions.cc               |    3 +-
 plugins/header_rewrite/header_rewrite.cc           |    2 +-
 plugins/header_rewrite/lulu.h                      |   33 -
 plugins/healthchecks/healthchecks.c                |    5 +-
 plugins/regex_revalidate/regex_revalidate.c        |    4 +-
 plugins/s3_auth/s3_auth.cc                         |    2 +-
 proxy/InkAPI.cc                                    |   29 +-
 proxy/Main.cc                                      |    4 +-
 proxy/ParentSelection.h                            |    2 +-
 proxy/PluginVC.cc                                  |    2 +-
 proxy/PluginVC.h                                   |    4 +-
 proxy/ProxyClientSession.h                         |    9 +-
 proxy/ProxyClientTransaction.h                     |    6 +-
 proxy/StatPages.cc                                 |    2 +-
 proxy/TransformInternal.h                          |    8 +-
 proxy/api/ts/InkAPIPrivateIOCore.h                 |    4 +-
 proxy/congest/Congestion.h                         |    4 +-
 proxy/hdrs/HTTP.cc                                 |   11 +-
 proxy/hdrs/URL.cc                                  |   15 +-
 proxy/hdrs/URL.h                                   |    4 +-
 proxy/http/ForwardedConfig.cc                      |   24 +-
 proxy/http/Http1ClientSession.h                    |    6 +-
 proxy/http/HttpConfig.cc                           |    2 +-
 proxy/http/HttpSM.cc                               |  110 +-
 proxy/http/HttpSM.h                                |    8 +-
 proxy/http/HttpServerSession.h                     |    4 +-
 proxy/http/HttpSessionManager.cc                   |   24 +-
 proxy/http/HttpTransact.cc                         |   20 +
 proxy/http/HttpTransact.h                          |    2 +
 proxy/http/HttpTransactHeaders.cc                  |   39 +-
 proxy/http/HttpTransactHeaders.h                   |    2 +-
 proxy/http/Makefile.am                             |    6 +-
 proxy/http/unit-tests/sym-links/MemView.cc         |    1 -
 proxy/http/unit-tests/test_ForwardedConfig.cc      |    4 +-
 .../http/unit-tests/test_ForwardedConfig_mocks.cc  |    4 +-
 proxy/http2/HTTP2.cc                               |    2 +-
 proxy/http2/HTTP2.h                                |    2 +-
 proxy/http2/Http2ClientSession.h                   |   10 +-
 proxy/logging/LogBuffer.cc                         |    6 +-
 proxy/logging/LogBuffer.h                          |   10 +-
 proxy/logging/LogField.h                           |    1 +
 proxy/logging/LogHost.cc                           |    6 +-
 proxy/logging/LogObject.cc                         |    4 +-
 proxy/logging/LogObject.h                          |    2 +-
 tests/gold_tests/autest-site/conditions.test.ext   |    8 +
 .../autest-site/trafficserver_plugins.test.ext     |   10 +-
 .../chunked_encoding/chunked_encoding.test.py      |  130 ++
 .../chunked_encoding/gold/chunked_GET_200.gold     |   13 +
 .../chunked_encoding/gold/chunked_POST_200.gold    |   13 +
 .../chunked_encoding/gold/h2_chunked_POST_200.gold |   11 +
 tests/gold_tests/chunked_encoding/ssl/server.key   |   15 +
 tests/gold_tests/chunked_encoding/ssl/server.pem   |   32 +
 tests/gold_tests/h2/http2.test.py                  |    3 +-
 tests/gold_tests/headers/http408.gold              |    3 +-
 169 files changed, 2844 insertions(+), 4022 deletions(-)

diff --cc iocore/net/P_UnixNetVConnection.h
index 55e3c41,c6ad45e..ccd9a2c
--- a/iocore/net/P_UnixNetVConnection.h
+++ b/iocore/net/P_UnixNetVConnection.h
@@@ -430,9 -433,7 +433,8 @@@ UnixNetVConnection::set_action(Continua
  
  // declarations for local use (within the net module)
  
- void close_UnixNetVConnection(UnixNetVConnection *vc, EThread *t);
  void write_to_net(NetHandler *nh, UnixNetVConnection *vc, EThread *thread);
  void write_to_net_io(NetHandler *nh, UnixNetVConnection *vc, EThread *thread);
 +void net_activity(UnixNetVConnection *vc, EThread *thread);
  
  #endif
diff --cc lib/records/RecHttp.cc
index 9f4eadf,e480c51..19d9481
--- a/lib/records/RecHttp.cc
+++ b/lib/records/RecHttp.cc
@@@ -36,27 -36,25 +36,27 @@@ SessionProtocolNameRegistry globalSessi
     These are also used for NPN setup.
  */
  
- const char *const TS_ALPN_PROTOCOL_HTTP_0_9  = IP_PROTO_TAG_HTTP_0_9.ptr();
- const char *const TS_ALPN_PROTOCOL_HTTP_1_0  = IP_PROTO_TAG_HTTP_1_0.ptr();
- const char *const TS_ALPN_PROTOCOL_HTTP_1_1  = IP_PROTO_TAG_HTTP_1_1.ptr();
- const char *const TS_ALPN_PROTOCOL_HTTP_2_0  = IP_PROTO_TAG_HTTP_2_0.ptr();
- const char *const TS_ALPN_PROTOCOL_HTTP_QUIC = IP_PROTO_TAG_HTTP_QUIC.ptr();
 -const char *const TS_ALPN_PROTOCOL_HTTP_0_9 = IP_PROTO_TAG_HTTP_0_9.data();
 -const char *const TS_ALPN_PROTOCOL_HTTP_1_0 = IP_PROTO_TAG_HTTP_1_0.data();
 -const char *const TS_ALPN_PROTOCOL_HTTP_1_1 = IP_PROTO_TAG_HTTP_1_1.data();
 -const char *const TS_ALPN_PROTOCOL_HTTP_2_0 = IP_PROTO_TAG_HTTP_2_0.data();
++const char *const TS_ALPN_PROTOCOL_HTTP_0_9  = IP_PROTO_TAG_HTTP_0_9.data();
++const char *const TS_ALPN_PROTOCOL_HTTP_1_0  = IP_PROTO_TAG_HTTP_1_0.data();
++const char *const TS_ALPN_PROTOCOL_HTTP_1_1  = IP_PROTO_TAG_HTTP_1_1.data();
++const char *const TS_ALPN_PROTOCOL_HTTP_2_0  = IP_PROTO_TAG_HTTP_2_0.data();
++const char *const TS_ALPN_PROTOCOL_HTTP_QUIC = IP_PROTO_TAG_HTTP_QUIC.data();
  
  const char *const TS_ALPN_PROTOCOL_GROUP_HTTP  = "http";
  const char *const TS_ALPN_PROTOCOL_GROUP_HTTP2 = "http2";
  
 -const char *const TS_PROTO_TAG_HTTP_1_0 = TS_ALPN_PROTOCOL_HTTP_1_0;
 -const char *const TS_PROTO_TAG_HTTP_1_1 = TS_ALPN_PROTOCOL_HTTP_1_1;
 -const char *const TS_PROTO_TAG_HTTP_2_0 = TS_ALPN_PROTOCOL_HTTP_2_0;
 -const char *const TS_PROTO_TAG_TLS_1_3  = IP_PROTO_TAG_TLS_1_3.data();
 -const char *const TS_PROTO_TAG_TLS_1_2  = IP_PROTO_TAG_TLS_1_2.data();
 -const char *const TS_PROTO_TAG_TLS_1_1  = IP_PROTO_TAG_TLS_1_1.data();
 -const char *const TS_PROTO_TAG_TLS_1_0  = IP_PROTO_TAG_TLS_1_0.data();
 -const char *const TS_PROTO_TAG_TCP      = IP_PROTO_TAG_TCP.data();
 -const char *const TS_PROTO_TAG_UDP      = IP_PROTO_TAG_UDP.data();
 -const char *const TS_PROTO_TAG_IPV4     = IP_PROTO_TAG_IPV4.data();
 -const char *const TS_PROTO_TAG_IPV6     = IP_PROTO_TAG_IPV6.data();
 +const char *const TS_PROTO_TAG_HTTP_1_0  = TS_ALPN_PROTOCOL_HTTP_1_0;
 +const char *const TS_PROTO_TAG_HTTP_1_1  = TS_ALPN_PROTOCOL_HTTP_1_1;
 +const char *const TS_PROTO_TAG_HTTP_2_0  = TS_ALPN_PROTOCOL_HTTP_2_0;
 +const char *const TS_PROTO_TAG_HTTP_QUIC = TS_ALPN_PROTOCOL_HTTP_QUIC;
- const char *const TS_PROTO_TAG_TLS_1_3   = IP_PROTO_TAG_TLS_1_3.ptr();
- const char *const TS_PROTO_TAG_TLS_1_2   = IP_PROTO_TAG_TLS_1_2.ptr();
- const char *const TS_PROTO_TAG_TLS_1_1   = IP_PROTO_TAG_TLS_1_1.ptr();
- const char *const TS_PROTO_TAG_TLS_1_0   = IP_PROTO_TAG_TLS_1_0.ptr();
- const char *const TS_PROTO_TAG_TCP       = IP_PROTO_TAG_TCP.ptr();
- const char *const TS_PROTO_TAG_UDP       = IP_PROTO_TAG_UDP.ptr();
- const char *const TS_PROTO_TAG_IPV4      = IP_PROTO_TAG_IPV4.ptr();
- const char *const TS_PROTO_TAG_IPV6      = IP_PROTO_TAG_IPV6.ptr();
++const char *const TS_PROTO_TAG_TLS_1_3   = IP_PROTO_TAG_TLS_1_3.data();
++const char *const TS_PROTO_TAG_TLS_1_2   = IP_PROTO_TAG_TLS_1_2.data();
++const char *const TS_PROTO_TAG_TLS_1_1   = IP_PROTO_TAG_TLS_1_1.data();
++const char *const TS_PROTO_TAG_TLS_1_0   = IP_PROTO_TAG_TLS_1_0.data();
++const char *const TS_PROTO_TAG_TCP       = IP_PROTO_TAG_TCP.data();
++const char *const TS_PROTO_TAG_UDP       = IP_PROTO_TAG_UDP.data();
++const char *const TS_PROTO_TAG_IPV4      = IP_PROTO_TAG_IPV4.data();
++const char *const TS_PROTO_TAG_IPV6      = IP_PROTO_TAG_IPV6.data();
  
  InkHashTable *TSProtoTags;
  
diff --cc lib/ts/ink_inet.cc
index 188519a,0fa4251..bd4de72
--- a/lib/ts/ink_inet.cc
+++ b/lib/ts/ink_inet.cc
@@@ -32,20 -32,18 +32,20 @@@
  
  IpAddr const IpAddr::INVALID;
  
- const ts::StringView IP_PROTO_TAG_IPV4("ipv4", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_IPV6("ipv6", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_UDP("udp", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_TCP("tcp", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_QUIC("quic", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_TLS_1_0("tls/1.0", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_TLS_1_1("tls/1.1", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_TLS_1_2("tls/1.2", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_TLS_1_3("tls/1.3", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_HTTP_0_9("http/0.9", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_HTTP_1_0("http/1.0", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_HTTP_1_1("http/1.1", ts::StringView::literal);
- const ts::StringView IP_PROTO_TAG_HTTP_2_0("h2", ts::StringView::literal);     // HTTP/2 over TLS
- const ts::StringView IP_PROTO_TAG_HTTP_QUIC("hq-05", ts::StringView::literal); // HTTP over QUIC
+ const ts::string_view IP_PROTO_TAG_IPV4("ipv4"_sv);
+ const ts::string_view IP_PROTO_TAG_IPV6("ipv6"_sv);
+ const ts::string_view IP_PROTO_TAG_UDP("udp"_sv);
+ const ts::string_view IP_PROTO_TAG_TCP("tcp"_sv);
++const ts::string_view IP_PROTO_TAG_QUIC("quic"_sv);
+ const ts::string_view IP_PROTO_TAG_TLS_1_0("tls/1.0"_sv);
+ const ts::string_view IP_PROTO_TAG_TLS_1_1("tls/1.1"_sv);
+ const ts::string_view IP_PROTO_TAG_TLS_1_2("tls/1.2"_sv);
+ const ts::string_view IP_PROTO_TAG_TLS_1_3("tls/1.3"_sv);
+ const ts::string_view IP_PROTO_TAG_HTTP_0_9("http/0.9"_sv);
+ const ts::string_view IP_PROTO_TAG_HTTP_1_0("http/1.0"_sv);
+ const ts::string_view IP_PROTO_TAG_HTTP_1_1("http/1.1"_sv);
 -const ts::string_view IP_PROTO_TAG_HTTP_2_0("h2"_sv); // HTTP/2 over TLS
++const ts::string_view IP_PROTO_TAG_HTTP_2_0("h2"_sv);     // HTTP/2 over TLS
++const ts::string_view IP_PROTO_TAG_HTTP_QUIC("hq-05"_sv); // HTTP over QUIC
  
  uint32_t
  ink_inet_addr(const char *s)
diff --cc lib/ts/ink_inet.h
index 585eaca,99c99c6..a2021db
--- a/lib/ts/ink_inet.h
+++ b/lib/ts/ink_inet.h
@@@ -46,20 -45,18 +45,20 @@@ IN6_IS_ADDR_UNSPECIFIED(in6_addr const 
  #endif
  
  // IP protocol stack tags.
- extern const ts::StringView IP_PROTO_TAG_IPV4;
- extern const ts::StringView IP_PROTO_TAG_IPV6;
- extern const ts::StringView IP_PROTO_TAG_UDP;
- extern const ts::StringView IP_PROTO_TAG_TCP;
- extern const ts::StringView IP_PROTO_TAG_QUIC;
- extern const ts::StringView IP_PROTO_TAG_TLS_1_0;
- extern const ts::StringView IP_PROTO_TAG_TLS_1_1;
- extern const ts::StringView IP_PROTO_TAG_TLS_1_2;
- extern const ts::StringView IP_PROTO_TAG_TLS_1_3;
- extern const ts::StringView IP_PROTO_TAG_HTTP_0_9;
- extern const ts::StringView IP_PROTO_TAG_HTTP_1_0;
- extern const ts::StringView IP_PROTO_TAG_HTTP_1_1;
- extern const ts::StringView IP_PROTO_TAG_HTTP_2_0;
- extern const ts::StringView IP_PROTO_TAG_HTTP_QUIC;
+ extern const ts::string_view IP_PROTO_TAG_IPV4;
+ extern const ts::string_view IP_PROTO_TAG_IPV6;
+ extern const ts::string_view IP_PROTO_TAG_UDP;
+ extern const ts::string_view IP_PROTO_TAG_TCP;
++extern const ts::string_view IP_PROTO_TAG_QUIC;
+ extern const ts::string_view IP_PROTO_TAG_TLS_1_0;
+ extern const ts::string_view IP_PROTO_TAG_TLS_1_1;
+ extern const ts::string_view IP_PROTO_TAG_TLS_1_2;
+ extern const ts::string_view IP_PROTO_TAG_TLS_1_3;
+ extern const ts::string_view IP_PROTO_TAG_HTTP_0_9;
+ extern const ts::string_view IP_PROTO_TAG_HTTP_1_0;
+ extern const ts::string_view IP_PROTO_TAG_HTTP_1_1;
+ extern const ts::string_view IP_PROTO_TAG_HTTP_2_0;
++extern const ts::string_view IP_PROTO_TAG_HTTP_QUIC;
  
  struct IpAddr; // forward declare.
  

-- 
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.