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/05/21 00:53:54 UTC
[trafficserver] 01/02: Merge branch 'asf/master' into quic-latest
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 6d1a8eeb03eb3f4d77d903f2593d1fc4c896cf59
Merge: 57cf415 6932805
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Mon May 21 09:35:41 2018 +0900
Merge branch 'asf/master' into quic-latest
* asf/master: (40 commits)
WCCP: Fix issues with gcc8.
For TS remap API functions, elaborate on mutual exclusion in the documentation.
dump...
add -F option
Fix linkage of traffic_manager with WCCP due to removal of metric library.
Editor: Fix CMakeLists.txt to handle escalate plugin promotion.
Doc: Minor tweaks to clear up doc build errors.
Promotes cache_promote plugin to stable
This adds a new callback to remap APIs: TSRemapConfigReload
Restores the expected non-tab indentations
Promote the Escalate plugin to stable
Uses known port, not rfc6890 loopback ip
Fix documentation regarding string_view
Replace ts::string_view with std::string_view
Fixed memory leak in transform add test, found with clang-analyzer
Removes all the metrics.config related stuff
Adds a couple of more include dirs to vscode
Remove TSHttpSsnConnectionGet which seems redundant.
IPv6 for microserver and microDNS
Allow better logging by using TSHttpConnectWithPluginId
...
Conflicts:
.gitignore
lib/ts/Makefile.am
lib/ts/ink_inet.cc
lib/ts/ink_inet.h
lib/tsconfig/TsConfigLua.h
.editorconfig | 4 +
.gitignore | 9 +-
.vscode/c_cpp_properties.json | 12 +-
CMakeLists.txt | 23 +-
build/ax_cxx_compile_stdcxx.m4 | 980 ------------------
ci/jenkins/bin/autest.sh | 63 +-
ci/jenkins/bin/build.sh | 18 +-
ci/jenkins/bin/clang-analyzer.sh | 22 +-
ci/jenkins/bin/clang-format.sh | 0
ci/jenkins/bin/coverity.sh | 3 +-
ci/jenkins/bin/docs.sh | 0
ci/jenkins/bin/environment.sh | 83 +-
ci/jenkins/bin/extract.sh | 8 +
ci/jenkins/bin/gh-mirror.sh | 44 +-
ci/jenkins/bin/github.sh | 39 +-
ci/jenkins/bin/rat.sh | 2 +-
ci/jenkins/git-jenkins-setup.sh | 22 +-
ci/jenkins/git-jenkins-update.sh | 18 +-
cmd/traffic_cache_tool/CacheDefs.cc | 2 +-
cmd/traffic_cache_tool/File.cc | 3 +-
cmd/traffic_layout/info.cc | 2 +-
cmd/traffic_layout/traffic_layout.cc | 6 +-
cmd/traffic_manager/AddConfigFilesHere.cc | 1 -
cmd/traffic_manager/Makefile.am | 36 +-
cmd/traffic_manager/metrics.cc | 370 -------
cmd/traffic_manager/metrics.h | 36 -
cmd/traffic_manager/test_metrics.cc | 115 --
cmd/traffic_manager/traffic_manager.cc | 34 +-
cmd/traffic_via/traffic_via.cc | 3 +-
configure.ac | 5 +-
doc/admin-guide/files/index.en.rst | 4 -
doc/admin-guide/files/metrics.config.en.rst | 137 ---
.../monitoring/statistics/core-statistics.en.rst | 1 -
doc/admin-guide/plugins/compress.en.rst | 108 +-
doc/admin-guide/plugins/escalate.en.rst | 9 +-
doc/admin-guide/plugins/header_rewrite.en.rst | 8 +-
doc/admin-guide/plugins/index.en.rst | 20 +-
doc/appendices/command-line/traffic_layout.en.rst | 12 +-
doc/appendices/command-line/traffic_server.en.rst | 6 +
doc/conf.py | 10 +-
.../TSHttpSsnIdGet.en.rst} | 26 +-
doc/developer-guide/api/functions/TSRemap.en.rst | 13 +-
doc/developer-guide/api/types/CoreTypes.en.rst | 8 +
.../api/types/TSOverridableConfigKey.en.rst | 1 +
.../internal-libraries/TextView.en.rst | 8 +-
.../internal-libraries/buffer-writer.en.rst | 855 ++++++++++++---
.../internal-libraries/index.en.rst | 1 -
.../internal-libraries/string_view.en.rst | 69 --
doc/manpages.py | 1 -
example/blacklist_1/blacklist_1.c | 2 +-
.../DelayTransformationPlugin.cc | 4 +-
.../GzipTransformationPlugin.cc | 4 +-
.../NullTransformationPlugin.cc | 4 +-
example/cppapi/post_buffer/PostBuffer.cc | 4 +-
example/ssl_preaccept/ssl_preaccept.cc | 12 +-
iocore/eventsystem/IOBuffer.cc | 74 ++
iocore/eventsystem/I_MIOBufferWriter.h | 72 +-
iocore/eventsystem/I_ProxyAllocator.h | 25 +-
iocore/eventsystem/Makefile.am | 9 +-
iocore/eventsystem/ProxyAllocator.cc | 3 +-
.../eventsystem/unit-tests/test_MIOBufferWriter.cc | 110 +-
iocore/hostdb/HostDB.cc | 2 -
iocore/net/I_NetVConnection.h | 12 +-
iocore/net/NetVConnection.cc | 4 +-
iocore/net/P_SSLNetVConnection.h | 8 +-
iocore/net/P_SSLUtils.h | 4 +-
iocore/net/P_UnixNetVConnection.h | 4 +-
iocore/net/SSLNetVConnection.cc | 14 +-
iocore/net/SSLSNIConfig.cc | 4 +-
iocore/net/UnixNet.cc | 16 +-
iocore/net/UnixNetVConnection.cc | 6 +-
lib/bindings/Makefile.am | 2 -
lib/bindings/metrics.cc | 259 -----
lib/bindings/metrics.h | 37 -
lib/cppapi/GzipDeflateTransformation.cc | 8 +-
lib/cppapi/GzipInflateTransformation.cc | 6 +-
lib/cppapi/TransformationPlugin.cc | 4 +-
.../include/atscppapi/GzipDeflateTransformation.h | 4 +-
.../include/atscppapi/GzipInflateTransformation.h | 4 +-
.../include/atscppapi/TransformationPlugin.h | 10 +-
lib/records/RecHttp.cc | 6 +-
lib/records/RecRawStats.cc | 2 +-
lib/ts/Allocator.h | 49 +-
lib/ts/BufferWriter.h | 259 +++--
lib/ts/BufferWriterFormat.cc | 164 ++-
lib/ts/BufferWriterForward.h | 66 +-
lib/ts/CryptoHash.h | 4 +-
lib/ts/I_Layout.h | 13 +-
lib/ts/Layout.cc | 16 +-
lib/ts/Makefile.am | 8 +-
lib/ts/MemArena.cc | 174 ++--
lib/ts/MemArena.h | 192 +++-
lib/ts/MemSpan.h | 86 +-
lib/ts/Ptr.h | 33 +
lib/ts/TextView.h | 20 +-
lib/ts/bwf_std_format.h | 36 +
lib/ts/ink_args.cc | 1 +
lib/ts/ink_args.h | 1 +
lib/ts/ink_inet.cc | 312 +++++-
lib/ts/ink_inet.h | 74 +-
lib/ts/ink_memory.h | 11 +-
lib/ts/ink_queue.cc | 30 +-
lib/ts/ink_queue.h | 11 +-
lib/ts/ink_res_init.cc | 2 +-
lib/ts/ink_std_compat.h | 157 ---
lib/ts/ink_string.h | 17 +
lib/ts/mkdfa.c | 4 +-
lib/ts/signals.cc | 1 +
lib/ts/string_view.h | 1093 --------------------
lib/ts/test_freelist.cc | 17 +-
lib/ts/unit-tests/test_BufferWriter.cc | 19 +-
lib/ts/unit-tests/test_BufferWriterFormat.cc | 70 +-
lib/ts/unit-tests/test_MemArena.cc | 234 ++---
lib/ts/unit-tests/test_TextView.cc | 5 +-
lib/ts/unit-tests/test_ink_inet.cc | 118 ++-
lib/ts/unit-tests/test_layout.cc | 2 +-
lib/ts/unit-tests/test_string_view.cc | 552 ----------
lib/tsconfig/TsConfigLua.h | 85 +-
lib/wccp/WccpEndPoint.cc | 1 -
lib/wccp/WccpLocal.h | 15 +-
lib/wccp/WccpMsg.cc | 2 -
mgmt/LocalManager.cc | 4 +-
plugins/Makefile.am | 4 +-
plugins/background_fetch/background_fetch.cc | 2 +-
.../escalate => cache_promote}/Makefile.inc | 6 +-
plugins/{experimental => }/cache_promote/README | 0
.../cache_promote/cache_promote.cc | 0
plugins/compress/compress.cc | 9 +-
.../cache_promote => escalate}/Makefile.inc | 6 +-
plugins/{experimental => }/escalate/escalate.cc | 0
plugins/experimental/mysql_remap/lib/dictionary.h | 6 +-
plugins/experimental/mysql_remap/lib/iniparser.h | 6 +-
.../ssl_cert_loader/ssl-cert-loader.cc | 10 +-
plugins/experimental/sslheaders/sslheaders.cc | 10 +-
plugins/experimental/tls_bridge/regex.cc | 4 +-
plugins/experimental/tls_bridge/regex.h | 6 +-
plugins/experimental/url_sig/url_sig.c | 17 +-
.../experimental/webp_transform/ImageTransform.cc | 6 +-
plugins/healthchecks/healthchecks.c | 2 +-
plugins/tcpinfo/tcpinfo.cc | 1 -
proxy/InkAPI.cc | 43 +-
proxy/InkAPITest.cc | 15 +-
proxy/Main.cc | 6 +-
proxy/ParentSelection.cc | 4 +-
proxy/ProxyClientSession.h | 6 +-
proxy/ProxyClientTransaction.h | 6 +-
proxy/ReverseProxy.cc | 5 +-
proxy/api/ts/remap.h | 8 +
proxy/api/ts/ts.h | 10 +-
proxy/config/Makefile.am | 1 -
proxy/config/metrics.config.default | 71 --
proxy/hdrs/HTTP.cc | 2 +-
proxy/hdrs/URL.cc | 4 +-
proxy/hdrs/URL.h | 4 +-
proxy/http/ForwardedConfig.cc | 4 +-
proxy/http/HttpConfig.cc | 4 +-
proxy/http/HttpConfig.h | 4 +-
proxy/http/HttpDebugNames.h | 41 +
proxy/http/HttpProxyServerMain.cc | 22 +
proxy/http/HttpSM.cc | 17 +-
proxy/http/HttpSM.h | 8 +-
proxy/http/HttpServerSession.h | 4 +-
proxy/http/HttpTransactHeaders.cc | 31 +-
proxy/http/HttpTransactHeaders.h | 2 +-
proxy/http/remap/RemapConfig.cc | 21 +-
proxy/http/remap/RemapPluginInfo.cc | 17 +
proxy/http/remap/RemapPluginInfo.h | 4 +
proxy/http/unit-tests/test_ForwardedConfig.cc | 2 +-
proxy/http2/Http2ClientSession.h | 6 +-
proxy/http2/test_HPACK.cc | 7 +-
proxy/logging/LogHost.cc | 4 +-
proxy/shared/DiagsConfig.cc | 1 +
rc/trafficserver.in | 1 -
rc/trafficserver.service.in | 4 +-
tests/README.md | 47 +-
tests/bootstrap.py | 2 +-
tests/gold_tests/autest-site/init.cli.ext | 2 +-
tests/gold_tests/autest-site/microDNS.test.ext | 17 +-
tests/gold_tests/autest-site/microserver.test.ext | 29 +-
.../gold_tests/autest-site/trafficserver.test.ext | 4 -
.../headers/general-connection-failure-502.gold | 14 +-
.../headers/general-connection-failure-502.test.py | 7 +-
.../Makefile.am => tests/tools/lib/IPConstants.py | 48 +-
tests/tools/microDNS/uDNS.py | 36 +-
tests/tools/microServer/uWServer.py | 16 +-
tools/jtest/jtest.cc | 67 +-
186 files changed, 3244 insertions(+), 5486 deletions(-)
diff --cc .gitignore
index 19ef8bd,9a9f5ec..5514f1c
--- a/.gitignore
+++ b/.gitignore
@@@ -60,6 -58,6 +58,7 @@@ cmd/traffic_layout/traffic_layou
cmd/traffic_via/traffic_via
cmd/traffic_wccp/traffic_wccp
cmd/traffic_cache_tool/traffic_cache_tool
++cmd/traffic_quic/traffic_quic
lib/stamp-h1
lib/ink_autoconf.h
diff --cc lib/ts/Makefile.am
index 4175d8a,fead563..b3d9915
--- a/lib/ts/Makefile.am
+++ b/lib/ts/Makefile.am
@@@ -212,17 -210,7 +210,18 @@@ libtsutil_la_SOURCES =
X509HostnameValidator.cc \
X509HostnameValidator.h
+if HAS_HKDF
+if OPENSSL_IS_BORINGSSL
+HKDF_impl = HKDF_boringssl.cc
+else
+HKDF_impl = HKDF_openssl.cc
+endif
+libtsutil_la_SOURCES += \
+ HKDF.h \
+ $(HKDF_impl)
+endif
+
+ BufferWriterFormat.o : AM_CPPFLAGS += -Wno-char-subscripts
#test_UNUSED_SOURCES = \
# load_http_hdr.cc \
@@@ -285,14 -273,8 +284,13 @@@ test_tslib_SOURCES =
unit-tests/test_MemArena.cc \
unit-tests/test_MT_hashtable.cc \
unit-tests/test_Scalar.cc \
- unit-tests/test_string_view.cc \
unit-tests/test_scoped_resource.cc \
-- unit-tests/test_TextView.cc
++ unit-tests/test_TextView.cc
+
+if HAS_HKDF
+test_tslib_SOURCES += \
+ unit-tests/test_HKDF.cc
+endif
CompileParseRules_SOURCES = CompileParseRules.cc
diff --cc lib/ts/ink_inet.cc
index a36beff,4b02280..b1b4d92
--- a/lib/ts/ink_inet.cc
+++ b/lib/ts/ink_inet.cc
@@@ -36,20 -36,20 +36,22 @@@
IpAddr const IpAddr::INVALID;
- 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_QUIC("hq-11"_sv); // HTTP over QUIC
+ using namespace std::literals;
+
+ const std::string_view IP_PROTO_TAG_IPV4("ipv4"sv);
+ const std::string_view IP_PROTO_TAG_IPV6("ipv6"sv);
+ const std::string_view IP_PROTO_TAG_UDP("udp"sv);
+ const std::string_view IP_PROTO_TAG_TCP("tcp"sv);
++const std::string_view IP_PROTO_TAG_QUIC("quic"sv);
+ const std::string_view IP_PROTO_TAG_TLS_1_0("tls/1.0"sv);
+ const std::string_view IP_PROTO_TAG_TLS_1_1("tls/1.1"sv);
+ const std::string_view IP_PROTO_TAG_TLS_1_2("tls/1.2"sv);
+ const std::string_view IP_PROTO_TAG_TLS_1_3("tls/1.3"sv);
+ const std::string_view IP_PROTO_TAG_HTTP_0_9("http/0.9"sv);
+ const std::string_view IP_PROTO_TAG_HTTP_1_0("http/1.0"sv);
+ const std::string_view IP_PROTO_TAG_HTTP_1_1("http/1.1"sv);
-const std::string_view IP_PROTO_TAG_HTTP_2_0("h2"sv); // HTTP/2 over TLS
++const std::string_view IP_PROTO_TAG_HTTP_2_0("h2"sv); // HTTP/2 over TLS
++const std::string_view IP_PROTO_TAG_HTTP_QUIC("hq-11"sv); // HTTP over QUIC
uint32_t
ink_inet_addr(const char *s)
diff --cc lib/ts/ink_inet.h
index c06fb5e,a0e74a6..cf89506
--- a/lib/ts/ink_inet.h
+++ b/lib/ts/ink_inet.h
@@@ -44,20 -46,18 +46,20 @@@ IN6_IS_ADDR_UNSPECIFIED(in6_addr const
#endif
// IP protocol stack tags.
- 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;
+ extern const std::string_view IP_PROTO_TAG_IPV4;
+ extern const std::string_view IP_PROTO_TAG_IPV6;
+ extern const std::string_view IP_PROTO_TAG_UDP;
+ extern const std::string_view IP_PROTO_TAG_TCP;
++extern const std::string_view IP_PROTO_TAG_QUIC;
+ extern const std::string_view IP_PROTO_TAG_TLS_1_0;
+ extern const std::string_view IP_PROTO_TAG_TLS_1_1;
+ extern const std::string_view IP_PROTO_TAG_TLS_1_2;
+ extern const std::string_view IP_PROTO_TAG_TLS_1_3;
+ extern const std::string_view IP_PROTO_TAG_HTTP_0_9;
+ extern const std::string_view IP_PROTO_TAG_HTTP_1_0;
+ extern const std::string_view IP_PROTO_TAG_HTTP_1_1;
+ extern const std::string_view IP_PROTO_TAG_HTTP_2_0;
++extern const std::string_view IP_PROTO_TAG_HTTP_QUIC;
struct IpAddr; // forward declare.
diff --cc lib/tsconfig/TsConfigLua.h
index a0196a2,8edfcf2..97024de
--- a/lib/tsconfig/TsConfigLua.h
+++ b/lib/tsconfig/TsConfigLua.h
@@@ -89,107 -89,96 +89,96 @@@ class TsConfigBase
public:
/// Source of the value in the config struct.
enum class Source {
- NONE, ///< No source, the value is default constructed.
+ NONE, ///< No source, the value is default constructed.
SCHEMA, ///< Value set in schema.
- CONFIG ///< Value set in configuration file.
+ CONFIG ///< Value set in configuration file.
};
/// Constructor - need the static descriptor.
- TsConfigBase(TsConfigDescriptor const& d) : descriptor(d) {}
- TsConfigDescriptor const& descriptor; ///< Static schema data.
- Source source = Source::NONE; ///< Where the instance data came from.
+ TsConfigBase(TsConfigDescriptor const &d) : descriptor(d) {}
+ TsConfigDescriptor const &descriptor; ///< Static schema data.
+ Source source = Source::NONE; ///< Where the instance data came from.
- virtual ~TsConfigBase() {}
+ virtual ~TsConfigBase()
+ {}
/// Load the instance data from the Lua stack.
- virtual ts::Errata loader(lua_State* s) = 0;
+ virtual ts::Errata loader(lua_State *s) = 0;
};
- class TsConfigInt : public TsConfigBase
- {
+ class TsConfigInt : public TsConfigBase {
public:
- TsConfigInt(TsConfigDescriptor const& d, int& i):TsConfigBase(d),ref(i){}
- ts::Errata loader(lua_State* s) override;
+ TsConfigInt(TsConfigDescriptor const &d, int &i) : TsConfigBase(d), ref(i) {}
+ ts::Errata loader(lua_State *s) override;
-
private:
- int & ref;
+ int &ref;
};
- class TsConfigBool : public TsConfigBase
- {
+ class TsConfigBool : public TsConfigBase {
public:
- TsConfigBool(TsConfigDescriptor const& d, bool& i):TsConfigBase(d), ref(i) {}
- ts::Errata loader(lua_State* s) override;
-private:
- bool &ref;
+ TsConfigBool(TsConfigDescriptor const &d, bool &i) : TsConfigBase(d), ref(i) {}
+ ts::Errata loader(lua_State *s) override;
+private:
+ bool &ref;
};
- class TsConfigString : public TsConfigBase
- {
+ class TsConfigString : public TsConfigBase {
public:
- TsConfigString(TsConfigDescriptor const& d, std::string& str) : TsConfigBase(d), ref(str) {}
-// TsConfigString& operator= (const TsConfigString& other)
-// {
-// ref = other.ref;
-// return *this;
-// }
- ts::Errata loader(lua_State* s) override;
+ TsConfigString(TsConfigDescriptor const &d, std::string &str) : TsConfigBase(d), ref(str) {}
+ // TsConfigString& operator= (const TsConfigString& other)
+ // {
+ // ref = other.ref;
+ // return *this;
+ // }
+ ts::Errata loader(lua_State *s) override;
-
private:
- std::string& ref;
+ std::string &ref;
};
- class TsConfigArrayDescriptor : public TsConfigDescriptor
- {
+
+
+ class TsConfigArrayDescriptor : public TsConfigDescriptor {
public:
- TsConfigArrayDescriptor(TsConfigDescriptor const& d) : item(d) {}
- const TsConfigDescriptor& item;
+ TsConfigArrayDescriptor(TsConfigDescriptor const &d) : item(d) {}
+ const TsConfigDescriptor &item;
};
- class TsConfigEnumDescriptor : public TsConfigDescriptor
- {
+ class TsConfigEnumDescriptor : public TsConfigDescriptor {
- using self_type = TsConfigEnumDescriptor;
+ using self_type = TsConfigEnumDescriptor;
using super_type = TsConfigDescriptor;
-
public:
- struct Pair {
- ts::string_view key;
- int value;
- };
- TsConfigEnumDescriptor(Type t, ts::string_view t_name, ts::string_view n, ts::string_view d, std::initializer_list<Pair> pairs)
+ struct Pair { std::string_view key; int value; };
+ TsConfigEnumDescriptor(Type t, std::string_view t_name, std::string_view n, std::string_view d, std::initializer_list<Pair> pairs)
: super_type{t, t_name, n, d}, values{pairs.size(), &TsLuaConfigSVHash}, keys{pairs.size()}
{
- for ( auto& p : pairs ) {
+ for (auto &p : pairs) {
values[p.key] = p.value;
keys[p.value] = p.key;
}
}
- std::unordered_map<ts::string_view, int, size_t (*)(ts::string_view const &)> values;
- std::unordered_map<int, ts::string_view> keys;
- int
- get(ts::string_view key)
+ std::unordered_map<std::string_view, int, size_t(*)(std::string_view const&) > values;
+ std::unordered_map<int, std::string_view> keys;
+ int get(std::string_view key)
{
- return values[key];
+ return values[key];
}
};
- class TsConfigObjectDescriptor : public TsConfigDescriptor
- {
+ class TsConfigObjectDescriptor : public TsConfigDescriptor {
- std::unordered_map<std::string, TsConfigDescriptor const*> fields;
+ std::unordered_map<std::string, TsConfigDescriptor const *> fields;
};
- template <typename E> class TsConfigEnum : public TsConfigBase
- {
-template < typename E >
-class TsConfigEnum : public TsConfigBase {
++template <typename E> class TsConfigEnum : public TsConfigBase {
public:
- TsConfigEnum(TsConfigEnumDescriptor const& d, int& i) : TsConfigBase(d),edescriptor(d), ref(i) {}
- TsConfigEnumDescriptor edescriptor;
- int& ref;
- ts::Errata loader(lua_State* L) override
- {
+ TsConfigEnum(TsConfigEnumDescriptor const &d, int &i) : TsConfigBase(d), edescriptor(d), ref(i) {}
+ TsConfigEnumDescriptor edescriptor;
+ int &ref;
+ ts::Errata
+ loader(lua_State *L) override
+ {
ts::Errata zret;
- std::string key(lua_tostring(L, -1));
- ref = edescriptor.get(ts::string_view(key));
+ std::string key(lua_tostring(L,-1));
+ ref = edescriptor.get(std::string_view(key));
return zret;
- }
+ }
};
#endif /* TSCONFIGLUA_H */
--
To stop receiving notification emails like this one, please contact
masaori@apache.org.