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/11/02 17:54:24 UTC
[trafficserver] 01/01: 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 5869822270e857da897a95a0efd99c4b623f71dc
Merge: 7e1cd27 af92bb6
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Thu Nov 2 11:53:52 2017 -0600
Merge branch 'master' into quic-latest
* master: (27 commits)
This removes all configuration Element ctor/dtor code
Removes the rest of the CfgContext files and objects
Removes the Configuration Context Manager
list packages for building in Ubuntu
Correct comment about TS_HTTP_SSN_CLOSE_HOOK.
More header_rewrite examples
Treat SSL_ERROR_SSL as EPIPE within SSLNetVC::load_buffer_and_write()
Doc: Minor fixes - some MimeHdr functions, traffic_layout, event loop metrics.
Implement zero-copy within UDPNetProcessorInternal::udp_read_from_net
updated abbreviations in README
include cstring to make the compiler stop complaining about strlen
added tests for different thread configurations, thread information is verified using gdb
More NULL to nullptr conversion
fix 2707, assign server_session to nullptr after do `chain_abort_all`
Getting rid of ts::Vec implementation and replacing it with std::vector
Rework the new udp connection
coverity 1376260: Uninitialized scalar field
Prevent releasing streams simultaneously
Within UDPConnection::Release(), it should calls the ep.stop() only if the UDPConnection will be closed
Optimize: define UDPQueue::atomicQueue by ASLL macro and rename to outQueue
...
Conflicts:
iocore/net/P_UnixUDPConnection.h
lib/records/I_RecHttp.h
lib/records/RecHttp.cc
README | 4 +-
cmd/traffic_layout/engine.cc | 26 +-
cmd/traffic_layout/traffic_layout.cc | 8 +-
cmd/traffic_manager/metrics.cc | 12 +-
configure.ac | 3 +
doc/admin-guide/installation/index.en.rst | 8 +-
.../monitoring/statistics/core/misc.en.rst | 25 +-
doc/admin-guide/plugins/header_rewrite.en.rst | 31 +-
doc/appendices/command-line/traffic_layout.en.rst | 64 +-
.../functions/TSMimeHdrFieldValueStringSet.en.rst | 16 +
.../api/functions/TSMimeHdrFieldValuesCount.en.rst | 2 +
iocore/eventsystem/I_EThread.h | 2 +-
iocore/eventsystem/I_SocketManager.h | 1 +
iocore/eventsystem/P_UnixSocketManager.h | 11 +
iocore/eventsystem/UnixEventProcessor.cc | 7 +-
iocore/hostdb/P_RefCountCache.h | 7 +-
iocore/hostdb/P_RefCountCacheSerializer.h | 10 +-
iocore/net/I_UDPPacket.h | 6 +
iocore/net/P_UDPNet.h | 29 +-
iocore/net/P_UDPPacket.h | 16 +-
iocore/net/P_UnixUDPConnection.h | 10 +-
iocore/net/SSLNetVConnection.cc | 3 +-
iocore/net/SSLUtils.cc | 29 +-
iocore/net/UnixNetProcessor.cc | 5 +-
iocore/net/UnixUDPConnection.cc | 55 +-
iocore/net/UnixUDPNet.cc | 239 +-
lib/perl/lib/Apache/TS/AdminClient.pm | 43 +-
lib/records/I_RecHttp.h | 30 +-
lib/records/RecHttp.cc | 36 +-
lib/ts/Layout.cc | 65 +-
lib/ts/PriorityQueue.h | 45 +-
lib/ts/apidefs.h.in | 2 +-
lib/ts/runroot.cc | 27 +-
lib/ts/test_PriorityQueue.cc | 4 +-
mgmt/FileManager.cc | 31 +-
mgmt/LocalManager.cc | 8 +-
mgmt/api/APITestCliRemote.cc | 711 +----
mgmt/api/CfgContextDefs.h | 73 -
mgmt/api/CfgContextImpl.cc | 2135 ---------------
mgmt/api/CfgContextImpl.h | 435 ---
mgmt/api/CfgContextManager.cc | 560 ----
mgmt/api/CfgContextManager.h | 74 -
mgmt/api/CfgContextUtils.cc | 2756 --------------------
mgmt/api/CfgContextUtils.h | 194 --
mgmt/api/CoreAPI.cc | 61 +-
mgmt/api/CoreAPI.h | 11 +-
mgmt/api/CoreAPIRemote.cc | 61 +-
mgmt/api/EventControlMain.cc | 1 -
mgmt/api/INKMgmtAPI.cc | 974 +------
mgmt/api/Makefile.am | 7 -
mgmt/api/NetworkMessage.cc | 6 -
mgmt/api/NetworkMessage.h | 1 -
mgmt/api/TSControlMain.cc | 40 -
mgmt/api/include/mgmtapi.h | 541 +---
plugins/experimental/cachekey/configs.cc | 1 +
proxy/ControlBase.cc | 19 +-
proxy/ControlBase.h | 4 +-
proxy/IPAllow.cc | 6 +-
proxy/IPAllow.h | 6 +-
proxy/InkAPI.cc | 2 +-
proxy/InkAPITest.cc | 6 +-
proxy/InkAPITestTool.cc | 2 +-
proxy/http/HttpProxyServerMain.cc | 14 +-
proxy/http/HttpSM.cc | 4 +-
proxy/http/HttpTransact.cc | 2 +-
proxy/http/HttpTransact.h | 14 +-
proxy/http/HttpTransactHeaders.h | 2 +-
proxy/http2/HPACK.cc | 20 +-
proxy/http2/HPACK.h | 5 +-
proxy/http2/Http2ClientSession.cc | 6 +-
proxy/http2/Http2ConnectionState.h | 1 +
proxy/http2/Http2Stream.cc | 1 +
proxy/logging/LogObject.cc | 60 +-
proxy/logging/LogObject.h | 8 +-
tests/gold_tests/autest-site/microDNS.test.ext | 7 +-
tests/gold_tests/autest-site/microserver.test.ext | 15 +-
tests/gold_tests/basic/runroot-layout.test.py | 8 +-
.../pluginTest/multiplexer/multiplexer.test.py | 3 +-
tests/gold_tests/thread_config/gold/http_200.gold | 9 +
.../thread_config/gold/thread_100_0.gold | 101 +
.../thread_config/gold/thread_100_1.gold | 102 +
.../thread_config/gold/thread_100_10.gold | 111 +
.../gold_tests/thread_config/gold/thread_1_0.gold | 2 +
.../gold_tests/thread_config/gold/thread_1_1.gold | 3 +
.../gold_tests/thread_config/gold/thread_1_10.gold | 12 +
.../gold_tests/thread_config/gold/thread_2_0.gold | 3 +
.../gold_tests/thread_config/gold/thread_2_1.gold | 4 +
.../gold_tests/thread_config/gold/thread_2_10.gold | 13 +
.../gold_tests/thread_config/gold/thread_32_0.gold | 33 +
.../gold_tests/thread_config/gold/thread_32_1.gold | 34 +
.../thread_config/gold/thread_32_10.gold | 43 +
.../gold_tests/thread_config/thread_100_0.test.py | 61 +
.../gold_tests/thread_config/thread_100_1.test.py | 62 +
.../gold_tests/thread_config/thread_100_10.test.py | 61 +
tests/gold_tests/thread_config/thread_1_0.test.py | 61 +
tests/gold_tests/thread_config/thread_1_1.test.py | 61 +
tests/gold_tests/thread_config/thread_1_10.test.py | 61 +
tests/gold_tests/thread_config/thread_2_0.test.py | 61 +
tests/gold_tests/thread_config/thread_2_1.test.py | 61 +
tests/gold_tests/thread_config/thread_2_10.test.py | 61 +
tests/gold_tests/thread_config/thread_32_0.test.py | 61 +
tests/gold_tests/thread_config/thread_32_1.test.py | 61 +
.../gold_tests/thread_config/thread_32_10.test.py | 61 +
tests/tools/microServer/uWServer.py | 11 +-
104 files changed, 1901 insertions(+), 9090 deletions(-)
diff --cc iocore/net/P_UnixUDPConnection.h
index 6d5e455,4815f8a..599c632
--- a/iocore/net/P_UnixUDPConnection.h
+++ b/iocore/net/P_UnixUDPConnection.h
@@@ -42,14 -42,14 +42,14 @@@ public
void errorAndDie(int e);
int callbackHandler(int event, void *data);
- LINK(UnixUDPConnection, polling_link);
- LINK(UnixUDPConnection, callback_link);
SLINK(UnixUDPConnection, newconn_alink);
+ LINK(UnixUDPConnection, callback_link);
- InkAtomicList inQueue;
+ // Incoming UDP Packet Queue
+ ASLL(UDPPacketInternal, alink) inQueue;
- int onCallbackQueue;
- Action *callbackAction;
- EThread *ethread;
+ int onCallbackQueue = 0;
+ Action *callbackAction = nullptr;
+ EThread *ethread = nullptr;
EventIO ep;
UnixUDPConnection(int the_fd);
@@@ -61,11 -61,9 +61,9 @@@ private
};
TS_INLINE
-UnixUDPConnection::UnixUDPConnection(int the_fd) : onCallbackQueue(0), callbackAction(nullptr), ethread(nullptr), m_errno(0)
+UnixUDPConnection::UnixUDPConnection(int the_fd)
{
fd = the_fd;
- UDPPacketInternal p;
- ink_atomiclist_init(&inQueue, "Incoming UDP Packet queue", (char *)&p.alink.next - (char *)&p);
SET_HANDLER(&UnixUDPConnection::callbackHandler);
}
diff --cc lib/records/I_RecHttp.h
index 99e38ea,a3655f0..7886e92
--- a/lib/records/I_RecHttp.h
+++ b/lib/records/I_RecHttp.h
@@@ -483,12 -465,7 +485,12 @@@ HttpProxyPort::hasSSL(
{
return self::hasSSL(m_global);
}
+inline bool
+HttpProxyPort::hasQUIC()
+{
+ return self::hasQUIC(m_global);
+}
- inline HttpProxyPort *
+ inline const HttpProxyPort *
HttpProxyPort::findHttp(uint16_t family)
{
return self::findHttp(m_global, family);
diff --cc lib/records/RecHttp.cc
index 19d9481,b35cae2..c924d1a
--- a/lib/records/RecHttp.cc
+++ b/lib/records/RecHttp.cc
@@@ -173,28 -168,10 +173,22 @@@ HttpProxyPort::HttpProxyPort(
bool
HttpProxyPort::hasSSL(Group const &ports)
{
- bool zret = false;
- for (int i = 0, n = ports.length(); i < n && !zret; ++i) {
- if (ports[i].isSSL()) {
- zret = true;
- }
- }
- return zret;
+ return std::any_of(ports.begin(), ports.end(), [](HttpProxyPort const &port) { return port.isSSL(); });
}
+bool
+HttpProxyPort::hasQUIC(Group const &ports)
+{
+ bool zret = false;
- for (int i = 0, n = ports.length(); i < n && !zret; ++i) {
++ for (int i = 0, n = ports.size(); i < n && !zret; ++i) {
+ if (ports[i].isQUIC()) {
+ zret = true;
+ }
+ }
+ return zret;
+}
+
- HttpProxyPort *
+ const HttpProxyPort *
HttpProxyPort::findHttp(Group const &ports, uint16_t family)
{
bool check_family_p = ats_is_ip(family);
diff --cc proxy/http/HttpProxyServerMain.cc
index 36d8fe7,df1200d..202810b
--- a/proxy/http/HttpProxyServerMain.cc
+++ b/proxy/http/HttpProxyServerMain.cc
@@@ -39,11 -39,9 +39,13 @@@
#include "ProtocolProbeSessionAccept.h"
#include "http2/Http2SessionAccept.h"
#include "HttpConnectionCount.h"
+#if TS_USE_QUIC == 1
+#include "P_QUICNextProtocolAccept.h"
+#include "hq/HQSessionAccept.h"
+#endif
+ #include <vector>
+
HttpSessionAccept *plugin_http_accept = nullptr;
HttpSessionAccept *plugin_http_transparent_accept = nullptr;
--
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.