diff --git a/BUILD b/BUILD index 98bb2548b69..bc1d1197fc3 100644 --- a/BUILD +++ b/BUILD @@ -563,6 +563,7 @@ grpc_cc_library( external_deps = [ "absl/memory", "absl/strings", + "absl/strings:str_format", ], language = "c++", public_hdrs = GPR_PUBLIC_HDRS, diff --git a/BUILD.gn b/BUILD.gn index 193816d66b1..f821a9e1cdc 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -163,6 +163,7 @@ config("grpc_config") { deps = [ ":absl/container:inlined_vector", ":absl/memory:memory", + ":absl/strings:str_format", ":absl/strings:strings", ":absl/types:optional", ] diff --git a/CMakeLists.txt b/CMakeLists.txt index 120b951eebc..b4ccb827511 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,6 +119,8 @@ set(gRPC_ABSL_USED_TARGETS absl_raw_logging_internal absl_span absl_spinlock_wait + absl_str_format + absl_str_format_internal absl_strings absl_strings_internal absl_throw_delegate @@ -1440,6 +1442,7 @@ target_link_libraries(gpr ${_gRPC_ALLTARGETS_LIBRARIES} absl::inlined_vector absl::memory + absl::str_format absl::strings absl::optional ) @@ -18572,7 +18575,7 @@ generate_pkgconfig( "gRPC platform support library" "${gRPC_CORE_VERSION}" "" - "-lgpr -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "-lgpr -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" "" "gpr.pc") @@ -18582,7 +18585,7 @@ generate_pkgconfig( "high performance general RPC framework" "${gRPC_CORE_VERSION}" "gpr openssl" - "-lgrpc -laddress_sorting -lupb -lcares -lz -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "-lgrpc -laddress_sorting -lupb -lcares -lz -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" "" "grpc.pc") @@ -18592,7 +18595,7 @@ generate_pkgconfig( "high performance general RPC framework without SSL" "${gRPC_CORE_VERSION}" "gpr" - "-lgrpc_unsecure -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "-lgrpc_unsecure -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" "" "grpc_unsecure.pc") @@ -18602,7 +18605,7 @@ generate_pkgconfig( "C++ wrapper for gRPC" "${PACKAGE_VERSION}" "grpc" - "-lgrpc++ -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "-lgrpc++ -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" "" "grpc++.pc") @@ -18612,6 +18615,6 @@ generate_pkgconfig( "C++ wrapper for gRPC without SSL" "${PACKAGE_VERSION}" "grpc_unsecure" - "-lgrpc++_unsecure -labsl_bad_optional_access -labsl_strings -labsl_strings_internal -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" + "-lgrpc++_unsecure -labsl_bad_optional_access -labsl_str_format_internal -labsl_strings -labsl_strings_internal -labsl_base -labsl_spinlock_wait -labsl_dynamic_annotations -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity" "" "grpc++_unsecure.pc") diff --git a/Makefile b/Makefile index a11f9dba1e2..d33ca9e131a 100644 --- a/Makefile +++ b/Makefile @@ -9089,6 +9089,12 @@ LIBGRPC_ABSEIL_SRC = \ third_party/abseil-cpp/absl/strings/internal/escaping.cc \ third_party/abseil-cpp/absl/strings/internal/memutil.cc \ third_party/abseil-cpp/absl/strings/internal/ostringstream.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/output.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc \ third_party/abseil-cpp/absl/strings/internal/utf8.cc \ third_party/abseil-cpp/absl/strings/match.cc \ third_party/abseil-cpp/absl/strings/numbers.cc \ diff --git a/build.yaml b/build.yaml index f685917fe0d..78ef165106b 100644 --- a/build.yaml +++ b/build.yaml @@ -272,6 +272,7 @@ filegroups: deps: - absl/container:inlined_vector - absl/memory:memory + - absl/strings:str_format - absl/strings:strings - absl/types:optional uses: diff --git a/config.m4 b/config.m4 index 8278e2500fa..549854690b6 100644 --- a/config.m4 +++ b/config.m4 @@ -489,6 +489,12 @@ if test "$PHP_GRPC" != "no"; then third_party/abseil-cpp/absl/strings/internal/escaping.cc \ third_party/abseil-cpp/absl/strings/internal/memutil.cc \ third_party/abseil-cpp/absl/strings/internal/ostringstream.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/output.cc \ + third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc \ third_party/abseil-cpp/absl/strings/internal/utf8.cc \ third_party/abseil-cpp/absl/strings/match.cc \ third_party/abseil-cpp/absl/strings/numbers.cc \ @@ -882,6 +888,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/numeric) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal/str_format) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types) PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel) diff --git a/config.w32 b/config.w32 index bbd6318b8ee..09d57424f7e 100644 --- a/config.w32 +++ b/config.w32 @@ -458,6 +458,12 @@ if (PHP_GRPC != "no") { "third_party\\abseil-cpp\\absl\\strings\\internal\\escaping.cc " + "third_party\\abseil-cpp\\absl\\strings\\internal\\memutil.cc " + "third_party\\abseil-cpp\\absl\\strings\\internal\\ostringstream.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\arg.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\bind.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\extension.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\float_conversion.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\output.cc " + + "third_party\\abseil-cpp\\absl\\strings\\internal\\str_format\\parser.cc " + "third_party\\abseil-cpp\\absl\\strings\\internal\\utf8.cc " + "third_party\\abseil-cpp\\absl\\strings\\match.cc " + "third_party\\abseil-cpp\\absl\\strings\\numbers.cc " + @@ -916,6 +922,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\numeric"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal\\str_format"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\types"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\address_sorting"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel"); diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index e8b61788f7c..4420c8a5fd3 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -216,6 +216,7 @@ Pod::Spec.new do |s| abseil_version = '0.20190808.1' ss.dependency 'abseil/container/inlined_vector', abseil_version ss.dependency 'abseil/memory/memory', abseil_version + ss.dependency 'abseil/strings/str_format', abseil_version ss.dependency 'abseil/strings/strings', abseil_version ss.dependency 'abseil/types/optional', abseil_version diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 43f3be101a9..9b4c3665456 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -176,6 +176,7 @@ Pod::Spec.new do |s| abseil_version = '0.20190808.1' ss.dependency 'abseil/container/inlined_vector', abseil_version ss.dependency 'abseil/memory/memory', abseil_version + ss.dependency 'abseil/strings/str_format', abseil_version ss.dependency 'abseil/strings/strings', abseil_version ss.dependency 'abseil/types/optional', abseil_version ss.compiler_flags = '-DGRPC_SHADOW_BORINGSSL_SYMBOLS' diff --git a/grpc.gemspec b/grpc.gemspec index 3cd9dcb4b58..ae3af256ce2 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -965,6 +965,19 @@ Gem::Specification.new do |s| s.files += %w( third_party/abseil-cpp/absl/strings/internal/ostringstream.h ) s.files += %w( third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h ) s.files += %w( third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/arg.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/bind.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/checker.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/extension.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/output.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/output.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc ) + s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/parser.h ) s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_join_internal.h ) s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_split_internal.h ) s.files += %w( third_party/abseil-cpp/absl/strings/internal/utf8.cc ) @@ -975,6 +988,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/abseil-cpp/absl/strings/numbers.h ) s.files += %w( third_party/abseil-cpp/absl/strings/str_cat.cc ) s.files += %w( third_party/abseil-cpp/absl/strings/str_cat.h ) + s.files += %w( third_party/abseil-cpp/absl/strings/str_format.h ) s.files += %w( third_party/abseil-cpp/absl/strings/str_join.h ) s.files += %w( third_party/abseil-cpp/absl/strings/str_replace.cc ) s.files += %w( third_party/abseil-cpp/absl/strings/str_replace.h ) diff --git a/grpc.gyp b/grpc.gyp index 4197a676c7c..53eb755bec5 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -443,6 +443,7 @@ 'dependencies': [ 'absl/container:inlined_vector', 'absl/memory:memory', + 'absl/strings:str_format', 'absl/strings:strings', 'absl/types:optional', ], diff --git a/package.xml b/package.xml index cd9e718c6a2..fc83395d060 100644 --- a/package.xml +++ b/package.xml @@ -970,6 +970,19 @@ + + + + + + + + + + + + + @@ -980,6 +993,7 @@ + diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.cc b/src/core/ext/transport/chttp2/server/chttp2_server.cc index d7e15959b23..83e898f5a9d 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.cc +++ b/src/core/ext/transport/chttp2/server/chttp2_server.cc @@ -31,6 +31,8 @@ #include #include +#include "absl/strings/str_format.h" + #include "src/core/ext/filters/http/server/http_server_filter.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/ext/transport/chttp2/transport/internal.h" @@ -413,14 +415,9 @@ grpc_error* grpc_chttp2_server_add_port(grpc_server* server, const char* addr, arg = grpc_channel_args_find(args, GRPC_ARG_ENABLE_CHANNELZ); if (grpc_channel_arg_get_bool(arg, GRPC_ENABLE_CHANNELZ_DEFAULT)) { - char* socket_name = nullptr; - gpr_asprintf(&socket_name, "chttp2 listener %s", addr); state->channelz_listen_socket = grpc_core::MakeRefCounted( - addr, socket_name); - // TODO(veblush): Remove this once gpr_asprintf is replaced by - // absl::StrFormat - gpr_free(socket_name); + addr, absl::StrFormat("chttp2 listener %s", addr)); } /* Register with the server only upon success */ diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 72e7c88aa65..4bddaabb710 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -31,6 +31,8 @@ #include #include +#include "absl/strings/str_format.h" + #include "src/core/ext/transport/chttp2/transport/context_list.h" #include "src/core/ext/transport/chttp2/transport/frame_data.h" #include "src/core/ext/transport/chttp2/transport/internal.h" @@ -378,14 +380,10 @@ static bool read_channel_args(grpc_chttp2_transport* t, if (channelz_enabled) { // TODO(ncteisen): add an API to endpoint to query for local addr, and pass // it in here, so SocketNode knows its own address. - char* socket_name = nullptr; - gpr_asprintf(&socket_name, "%s %s", get_vtable()->name, t->peer_string); t->channelz_socket = grpc_core::MakeRefCounted( - "", t->peer_string, socket_name); - // TODO(veblush): Remove this once gpr_asprintf is replaced by - // absl::StrFormat - gpr_free(socket_name); + "", t->peer_string, + absl::StrFormat("%s %s", get_vtable()->name, t->peer_string)); } return enable_bdp; } diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index f0c99ecc590..1fbf25a1444 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -457,6 +457,12 @@ CORE_SOURCE_FILES = [ 'third_party/abseil-cpp/absl/strings/internal/escaping.cc', 'third_party/abseil-cpp/absl/strings/internal/memutil.cc', 'third_party/abseil-cpp/absl/strings/internal/ostringstream.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/output.cc', + 'third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc', 'third_party/abseil-cpp/absl/strings/internal/utf8.cc', 'third_party/abseil-cpp/absl/strings/match.cc', 'third_party/abseil-cpp/absl/strings/numbers.cc',