diff --git a/BUILD b/BUILD
index 1281cda5214..8058475cd5f 100644
--- a/BUILD
+++ b/BUILD
@@ -342,6 +342,7 @@ grpc_cc_library(
standalone = True,
visibility = ["@grpc:public"],
deps = [
+ "config",
"gpr_base",
"grpc_base_c",
"grpc_common",
@@ -379,6 +380,7 @@ grpc_cc_library(
"@grpc:public",
],
deps = [
+ "config",
"gpr_base",
"grpc_base_c",
"grpc_common",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6bbdc77feb5..7eff7c1e408 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1854,6 +1854,7 @@ add_library(grpc
src/core/lib/compression/stream_compression.cc
src/core/lib/compression/stream_compression_gzip.cc
src/core/lib/compression/stream_compression_identity.cc
+ src/core/lib/config/core_configuration.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
@@ -2492,6 +2493,7 @@ add_library(grpc_unsecure
src/core/lib/compression/stream_compression.cc
src/core/lib/compression/stream_compression_gzip.cc
src/core/lib/compression/stream_compression_identity.cc
+ src/core/lib/config/core_configuration.cc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
diff --git a/Makefile b/Makefile
index c3cd053bb89..0f0fb13108e 100644
--- a/Makefile
+++ b/Makefile
@@ -1374,6 +1374,7 @@ LIBGRPC_SRC = \
src/core/lib/compression/stream_compression.cc \
src/core/lib/compression/stream_compression_gzip.cc \
src/core/lib/compression/stream_compression_identity.cc \
+ src/core/lib/config/core_configuration.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
@@ -1862,6 +1863,7 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/compression/stream_compression.cc \
src/core/lib/compression/stream_compression_gzip.cc \
src/core/lib/compression/stream_compression_identity.cc \
+ src/core/lib/config/core_configuration.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml
index 50e85275298..2958f65df92 100644
--- a/build_autogenerated.yaml
+++ b/build_autogenerated.yaml
@@ -732,6 +732,7 @@ libs:
- src/core/lib/compression/stream_compression.h
- src/core/lib/compression/stream_compression_gzip.h
- src/core/lib/compression/stream_compression_identity.h
+ - src/core/lib/config/core_configuration.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
@@ -1269,6 +1270,7 @@ libs:
- src/core/lib/compression/stream_compression.cc
- src/core/lib/compression/stream_compression_gzip.cc
- src/core/lib/compression/stream_compression_identity.cc
+ - src/core/lib/config/core_configuration.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
@@ -1773,6 +1775,7 @@ libs:
- src/core/lib/compression/stream_compression.h
- src/core/lib/compression/stream_compression_gzip.h
- src/core/lib/compression/stream_compression_identity.h
+ - src/core/lib/config/core_configuration.h
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
@@ -2037,6 +2040,7 @@ libs:
- src/core/lib/compression/stream_compression.cc
- src/core/lib/compression/stream_compression_gzip.cc
- src/core/lib/compression/stream_compression_identity.cc
+ - src/core/lib/config/core_configuration.cc
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
diff --git a/config.m4 b/config.m4
index 40245441bae..e6fbad30372 100644
--- a/config.m4
+++ b/config.m4
@@ -382,6 +382,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/compression/stream_compression.cc \
src/core/lib/compression/stream_compression_gzip.cc \
src/core/lib/compression/stream_compression_identity.cc \
+ src/core/lib/config/core_configuration.cc \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
@@ -1185,6 +1186,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/backoff)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/compression)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/config)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/debug)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr)
diff --git a/config.w32 b/config.w32
index ca17dc52a82..5a034e0bce7 100644
--- a/config.w32
+++ b/config.w32
@@ -348,6 +348,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\compression\\stream_compression.cc " +
"src\\core\\lib\\compression\\stream_compression_gzip.cc " +
"src\\core\\lib\\compression\\stream_compression_identity.cc " +
+ "src\\core\\lib\\config\\core_configuration.cc " +
"src\\core\\lib\\debug\\stats.cc " +
"src\\core\\lib\\debug\\stats_data.cc " +
"src\\core\\lib\\debug\\trace.cc " +
@@ -1286,6 +1287,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\backoff");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\channel");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\compression");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\config");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\debug");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr");
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index cd55c4dbc56..cd8dee7eb33 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -527,6 +527,7 @@ Pod::Spec.new do |s|
'src/core/lib/compression/stream_compression.h',
'src/core/lib/compression/stream_compression_gzip.h',
'src/core/lib/compression/stream_compression_identity.h',
+ 'src/core/lib/config/core_configuration.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
@@ -1191,6 +1192,7 @@ Pod::Spec.new do |s|
'src/core/lib/compression/stream_compression.h',
'src/core/lib/compression/stream_compression_gzip.h',
'src/core/lib/compression/stream_compression_identity.h',
+ 'src/core/lib/config/core_configuration.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 2fde596a132..e0504861622 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -860,6 +860,8 @@ Pod::Spec.new do |s|
'src/core/lib/compression/stream_compression_gzip.h',
'src/core/lib/compression/stream_compression_identity.cc',
'src/core/lib/compression/stream_compression_identity.h',
+ 'src/core/lib/config/core_configuration.cc',
+ 'src/core/lib/config/core_configuration.h',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.cc',
@@ -1778,6 +1780,7 @@ Pod::Spec.new do |s|
'src/core/lib/compression/stream_compression.h',
'src/core/lib/compression/stream_compression_gzip.h',
'src/core/lib/compression/stream_compression_identity.h',
+ 'src/core/lib/config/core_configuration.h',
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
diff --git a/grpc.gemspec b/grpc.gemspec
index 6041c3b4b80..294d1a7765e 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -773,6 +773,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/compression/stream_compression_gzip.h )
s.files += %w( src/core/lib/compression/stream_compression_identity.cc )
s.files += %w( src/core/lib/compression/stream_compression_identity.h )
+ s.files += %w( src/core/lib/config/core_configuration.cc )
+ s.files += %w( src/core/lib/config/core_configuration.h )
s.files += %w( src/core/lib/debug/stats.cc )
s.files += %w( src/core/lib/debug/stats.h )
s.files += %w( src/core/lib/debug/stats_data.cc )
diff --git a/grpc.gyp b/grpc.gyp
index 53cca3613ac..965529952cd 100644
--- a/grpc.gyp
+++ b/grpc.gyp
@@ -807,6 +807,7 @@
'src/core/lib/compression/stream_compression.cc',
'src/core/lib/compression/stream_compression_gzip.cc',
'src/core/lib/compression/stream_compression_identity.cc',
+ 'src/core/lib/config/core_configuration.cc',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
@@ -1268,6 +1269,7 @@
'src/core/lib/compression/stream_compression.cc',
'src/core/lib/compression/stream_compression_gzip.cc',
'src/core/lib/compression/stream_compression_identity.cc',
+ 'src/core/lib/config/core_configuration.cc',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
diff --git a/package.xml b/package.xml
index 4607cde4b82..f40d90b8b03 100644
--- a/package.xml
+++ b/package.xml
@@ -753,6 +753,8 @@
+
+
diff --git a/src/core/plugin_registry/grpc_plugin_registry.cc b/src/core/plugin_registry/grpc_plugin_registry.cc
index 271b0103d0f..c6a99c707dd 100644
--- a/src/core/plugin_registry/grpc_plugin_registry.cc
+++ b/src/core/plugin_registry/grpc_plugin_registry.cc
@@ -20,6 +20,8 @@
#include
+#include "src/core/lib/config/core_configuration.h"
+
void grpc_http_filters_init(void);
void grpc_http_filters_shutdown(void);
void grpc_chttp2_plugin_init(void);
@@ -160,3 +162,11 @@ void grpc_register_built_in_plugins(void) {
grpc_core::GoogleCloud2ProdResolverShutdown);
#endif
}
+
+namespace grpc_core {
+
+void BuildCoreConfiguration(CoreConfiguration::Builder*) {
+ // TODO(ctiller): Incrementally call out to plugins as we require them to register things with builder.
+}
+
+}
diff --git a/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
index b58ab32838e..e4b7c0a1824 100644
--- a/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
+++ b/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
@@ -20,6 +20,8 @@
#include
+#include "src/core/lib/config/core_configuration.h"
+
void grpc_http_filters_init(void);
void grpc_http_filters_shutdown(void);
void grpc_chttp2_plugin_init(void);
@@ -113,3 +115,11 @@ void grpc_register_built_in_plugins(void) {
grpc_register_plugin(grpc_workaround_cronet_compression_filter_init,
grpc_workaround_cronet_compression_filter_shutdown);
}
+
+namespace grpc_core {
+
+void BuildCoreConfiguration(CoreConfiguration::Builder*) {
+ // TODO(ctiller): Incrementally call out to plugins as we require them to register things with builder.
+}
+
+}
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index 24f2d5c1fa9..eb27cc4adf9 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -357,6 +357,7 @@ CORE_SOURCE_FILES = [
'src/core/lib/compression/stream_compression.cc',
'src/core/lib/compression/stream_compression_gzip.cc',
'src/core/lib/compression/stream_compression_identity.cc',
+ 'src/core/lib/config/core_configuration.cc',
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index 9e4e9eb03f9..af644aae25f 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -1706,6 +1706,8 @@ src/core/lib/compression/stream_compression_gzip.cc \
src/core/lib/compression/stream_compression_gzip.h \
src/core/lib/compression/stream_compression_identity.cc \
src/core/lib/compression/stream_compression_identity.h \
+src/core/lib/config/core_configuration.cc \
+src/core/lib/config/core_configuration.h \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats.h \
src/core/lib/debug/stats_data.cc \
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 51a94671565..1e041530823 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1543,6 +1543,8 @@ src/core/lib/compression/stream_compression_gzip.cc \
src/core/lib/compression/stream_compression_gzip.h \
src/core/lib/compression/stream_compression_identity.cc \
src/core/lib/compression/stream_compression_identity.h \
+src/core/lib/config/core_configuration.cc \
+src/core/lib/config/core_configuration.h \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats.h \
src/core/lib/debug/stats_data.cc \