[event-engine] Separate promise context from default event engine headers (#36148)

These two things are different (event engine being a context has nothing to do with the ability to get a default event engine).

Lumping them into the same header means that things that want the context also need to want the default event engine declarations, which in turn pull in CoreConfiguration -- which ultimately means that nothing that is depended on by CoreConfiguration can consume the event engine context, which is undesirable (and causing dependency loops in current work).

Also includes an impressive number of cleanups to `grpc_base` because I ran `fix_build_deps` on that target as part of this.

Closes #36148

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36148 from ctiller:context-isnt-default--default-isnt-context a4fdad9621
PiperOrigin-RevId: 617961015
This commit is contained in:
Craig Tiller 2024-03-21 14:16:12 -07:00 committed by Copybara-Service
parent 4cf87d4c91
commit 21b5410a4c
19 changed files with 83 additions and 76 deletions

48
BUILD
View File

@ -1962,20 +1962,15 @@ grpc_cc_library(
}), }),
external_deps = [ external_deps = [
"absl/base:core_headers", "absl/base:core_headers",
"absl/cleanup",
"absl/container:flat_hash_map", "absl/container:flat_hash_map",
"absl/container:flat_hash_set",
"absl/container:inlined_vector", "absl/container:inlined_vector",
"absl/functional:any_invocable", "absl/functional:any_invocable",
"absl/functional:function_ref", "absl/functional:function_ref",
"absl/hash",
"absl/meta:type_traits", "absl/meta:type_traits",
"absl/random",
"absl/status", "absl/status",
"absl/status:statusor", "absl/status:statusor",
"absl/strings", "absl/strings",
"absl/strings:str_format", "absl/strings:str_format",
"absl/time",
"absl/types:optional", "absl/types:optional",
"absl/utility", "absl/utility",
"madler_zlib", "madler_zlib",
@ -1989,7 +1984,6 @@ grpc_cc_library(
visibility = ["@grpc:alt_grpc_base_legacy"], visibility = ["@grpc:alt_grpc_base_legacy"],
deps = [ deps = [
"api_trace", "api_trace",
"byte_buffer",
"call_combiner", "call_combiner",
"call_trace", "call_trace",
"call_tracer", "call_tracer",
@ -1998,28 +1992,19 @@ grpc_cc_library(
"channel_stack_builder", "channel_stack_builder",
"channelz", "channelz",
"config", "config",
"config_vars",
"cpp_impl_of", "cpp_impl_of",
"debug_location", "debug_location",
"dynamic_annotations",
"exec_ctx", "exec_ctx",
"gpr", "gpr",
"grpc_public_hdrs", "grpc_public_hdrs",
"grpc_trace", "grpc_trace",
"iomgr", "iomgr",
"iomgr_buffer_list",
"iomgr_internal_errqueue",
"iomgr_timer", "iomgr_timer",
"legacy_context", "legacy_context",
"orphanable", "orphanable",
"parse_address",
"promise", "promise",
"ref_counted_ptr", "ref_counted_ptr",
"resource_quota_api",
"sockaddr_utils",
"stats", "stats",
"tcp_tracer",
"uri_parser",
"//src/core:1999", "//src/core:1999",
"//src/core:activity", "//src/core:activity",
"//src/core:all_ok", "//src/core:all_ok",
@ -2027,14 +2012,11 @@ grpc_cc_library(
"//src/core:arena_promise", "//src/core:arena_promise",
"//src/core:atomic_utils", "//src/core:atomic_utils",
"//src/core:bitset", "//src/core:bitset",
"//src/core:call_factory",
"//src/core:call_filters", "//src/core:call_filters",
"//src/core:call_final_info", "//src/core:call_final_info",
"//src/core:call_finalization", "//src/core:call_finalization",
"//src/core:call_spine", "//src/core:call_spine",
"//src/core:cancel_callback",
"//src/core:channel_args", "//src/core:channel_args",
"//src/core:channel_args_endpoint_config",
"//src/core:channel_args_preconditioning", "//src/core:channel_args_preconditioning",
"//src/core:channel_fwd", "//src/core:channel_fwd",
"//src/core:channel_init", "//src/core:channel_init",
@ -2043,75 +2025,47 @@ grpc_cc_library(
"//src/core:closure", "//src/core:closure",
"//src/core:compression", "//src/core:compression",
"//src/core:connectivity_state", "//src/core:connectivity_state",
"//src/core:construct_destruct",
"//src/core:context", "//src/core:context",
"//src/core:default_event_engine", "//src/core:default_event_engine",
"//src/core:dual_ref_counted",
"//src/core:error", "//src/core:error",
"//src/core:error_utils", "//src/core:error_utils",
"//src/core:event_engine_common", "//src/core:event_engine_common",
"//src/core:event_engine_extensions", "//src/core:event_engine_context",
"//src/core:event_engine_memory_allocator_factory",
"//src/core:event_engine_query_extensions",
"//src/core:event_engine_shim",
"//src/core:event_engine_tcp_socket_utils",
"//src/core:event_engine_trace",
"//src/core:event_log",
"//src/core:experiments", "//src/core:experiments",
"//src/core:for_each", "//src/core:for_each",
"//src/core:gpr_atm", "//src/core:gpr_atm",
"//src/core:gpr_manual_constructor", "//src/core:gpr_manual_constructor",
"//src/core:gpr_spinlock", "//src/core:gpr_spinlock",
"//src/core:grpc_sockaddr",
"//src/core:if", "//src/core:if",
"//src/core:init_internally",
"//src/core:iomgr_fwd", "//src/core:iomgr_fwd",
"//src/core:iomgr_port",
"//src/core:json",
"//src/core:json_writer",
"//src/core:latch", "//src/core:latch",
"//src/core:loop", "//src/core:loop",
"//src/core:map", "//src/core:map",
"//src/core:match", "//src/core:match",
"//src/core:memory_quota",
"//src/core:message", "//src/core:message",
"//src/core:metadata", "//src/core:metadata",
"//src/core:metadata_batch", "//src/core:metadata_batch",
"//src/core:metrics", "//src/core:metrics",
"//src/core:no_destruct", "//src/core:no_destruct",
"//src/core:per_cpu",
"//src/core:pipe", "//src/core:pipe",
"//src/core:poll", "//src/core:poll",
"//src/core:pollset_set",
"//src/core:posix_event_engine_base_hdrs",
"//src/core:posix_event_engine_endpoint",
"//src/core:promise_status", "//src/core:promise_status",
"//src/core:promise_trace", "//src/core:promise_trace",
"//src/core:race", "//src/core:race",
"//src/core:random_early_detection",
"//src/core:ref_counted", "//src/core:ref_counted",
"//src/core:resolved_address",
"//src/core:resource_quota",
"//src/core:resource_quota_trace",
"//src/core:seq", "//src/core:seq",
"//src/core:server_interface", "//src/core:server_interface",
"//src/core:slice", "//src/core:slice",
"//src/core:slice_buffer", "//src/core:slice_buffer",
"//src/core:slice_cast", "//src/core:slice_cast",
"//src/core:slice_refcount", "//src/core:slice_refcount",
"//src/core:socket_mutator",
"//src/core:stats_data", "//src/core:stats_data",
"//src/core:status_flag", "//src/core:status_flag",
"//src/core:status_helper", "//src/core:status_helper",
"//src/core:strerror",
"//src/core:thread_quota",
"//src/core:time", "//src/core:time",
"//src/core:transport_fwd", "//src/core:transport_fwd",
"//src/core:try_join",
"//src/core:try_seq", "//src/core:try_seq",
"//src/core:useful", "//src/core:useful",
"//src/core:windows_event_engine",
"//src/core:windows_event_engine_listener",
], ],
) )

5
CMakeLists.txt generated
View File

@ -5116,7 +5116,6 @@ add_library(grpc_authorization_provider
src/core/lib/address_utils/parse_address.cc src/core/lib/address_utils/parse_address.cc
src/core/lib/address_utils/sockaddr_utils.cc src/core/lib/address_utils/sockaddr_utils.cc
src/core/lib/backoff/backoff.cc src/core/lib/backoff/backoff.cc
src/core/lib/backoff/random_early_detection.cc
src/core/lib/channel/call_tracer.cc src/core/lib/channel/call_tracer.cc
src/core/lib/channel/channel_args.cc src/core/lib/channel/channel_args.cc
src/core/lib/channel/channel_args_preconditioning.cc src/core/lib/channel/channel_args_preconditioning.cc
@ -5349,10 +5348,8 @@ add_library(grpc_authorization_provider
src/core/lib/surface/version.cc src/core/lib/surface/version.cc
src/core/lib/surface/wait_for_cq_end_op.cc src/core/lib/surface/wait_for_cq_end_op.cc
src/core/lib/transport/batch_builder.cc src/core/lib/transport/batch_builder.cc
src/core/lib/transport/call_factory.cc
src/core/lib/transport/call_filters.cc src/core/lib/transport/call_filters.cc
src/core/lib/transport/call_final_info.cc src/core/lib/transport/call_final_info.cc
src/core/lib/transport/call_size_estimator.cc
src/core/lib/transport/call_spine.cc src/core/lib/transport/call_spine.cc
src/core/lib/transport/connectivity_state.cc src/core/lib/transport/connectivity_state.cc
src/core/lib/transport/error_utils.cc src/core/lib/transport/error_utils.cc
@ -5442,8 +5439,6 @@ target_link_libraries(grpc_authorization_provider
absl::function_ref absl::function_ref
absl::hash absl::hash
absl::type_traits absl::type_traits
absl::random_bit_gen_ref
absl::random_distributions
absl::statusor absl::statusor
absl::span absl::span
absl::utility absl::utility

1
Package.swift generated
View File

@ -1202,6 +1202,7 @@ let package = Package(
"src/core/lib/event_engine/default_event_engine_factory.cc", "src/core/lib/event_engine/default_event_engine_factory.cc",
"src/core/lib/event_engine/default_event_engine_factory.h", "src/core/lib/event_engine/default_event_engine_factory.h",
"src/core/lib/event_engine/event_engine.cc", "src/core/lib/event_engine/event_engine.cc",
"src/core/lib/event_engine/event_engine_context.h",
"src/core/lib/event_engine/extensions/can_track_errors.h", "src/core/lib/event_engine/extensions/can_track_errors.h",
"src/core/lib/event_engine/extensions/chaotic_good_extension.h", "src/core/lib/event_engine/extensions/chaotic_good_extension.h",
"src/core/lib/event_engine/extensions/supports_fd.h", "src/core/lib/event_engine/extensions/supports_fd.h",

View File

@ -847,6 +847,7 @@ libs:
- src/core/lib/event_engine/common_closures.h - src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h - src/core/lib/event_engine/default_event_engine.h
- src/core/lib/event_engine/default_event_engine_factory.h - src/core/lib/event_engine/default_event_engine_factory.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/event_engine/extensions/can_track_errors.h - src/core/lib/event_engine/extensions/can_track_errors.h
- src/core/lib/event_engine/extensions/chaotic_good_extension.h - src/core/lib/event_engine/extensions/chaotic_good_extension.h
- src/core/lib/event_engine/extensions/supports_fd.h - src/core/lib/event_engine/extensions/supports_fd.h
@ -2355,6 +2356,7 @@ libs:
- src/core/lib/event_engine/common_closures.h - src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h - src/core/lib/event_engine/default_event_engine.h
- src/core/lib/event_engine/default_event_engine_factory.h - src/core/lib/event_engine/default_event_engine_factory.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/event_engine/extensions/can_track_errors.h - src/core/lib/event_engine/extensions/can_track_errors.h
- src/core/lib/event_engine/extensions/chaotic_good_extension.h - src/core/lib/event_engine/extensions/chaotic_good_extension.h
- src/core/lib/event_engine/extensions/supports_fd.h - src/core/lib/event_engine/extensions/supports_fd.h
@ -4405,7 +4407,6 @@ libs:
- src/core/lib/address_utils/sockaddr_utils.h - src/core/lib/address_utils/sockaddr_utils.h
- src/core/lib/avl/avl.h - src/core/lib/avl/avl.h
- src/core/lib/backoff/backoff.h - src/core/lib/backoff/backoff.h
- src/core/lib/backoff/random_early_detection.h
- src/core/lib/channel/call_finalization.h - src/core/lib/channel/call_finalization.h
- src/core/lib/channel/call_tracer.h - src/core/lib/channel/call_tracer.h
- src/core/lib/channel/channel_args.h - src/core/lib/channel/channel_args.h
@ -4441,6 +4442,7 @@ libs:
- src/core/lib/event_engine/common_closures.h - src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h - src/core/lib/event_engine/default_event_engine.h
- src/core/lib/event_engine/default_event_engine_factory.h - src/core/lib/event_engine/default_event_engine_factory.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/event_engine/extensions/can_track_errors.h - src/core/lib/event_engine/extensions/can_track_errors.h
- src/core/lib/event_engine/extensions/chaotic_good_extension.h - src/core/lib/event_engine/extensions/chaotic_good_extension.h
- src/core/lib/event_engine/extensions/supports_fd.h - src/core/lib/event_engine/extensions/supports_fd.h
@ -4599,7 +4601,6 @@ libs:
- src/core/lib/promise/activity.h - src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h - src/core/lib/promise/all_ok.h
- src/core/lib/promise/arena_promise.h - src/core/lib/promise/arena_promise.h
- src/core/lib/promise/cancel_callback.h
- src/core/lib/promise/context.h - src/core/lib/promise/context.h
- src/core/lib/promise/detail/basic_seq.h - src/core/lib/promise/detail/basic_seq.h
- src/core/lib/promise/detail/join_state.h - src/core/lib/promise/detail/join_state.h
@ -4623,7 +4624,6 @@ libs:
- src/core/lib/promise/seq.h - src/core/lib/promise/seq.h
- src/core/lib/promise/status_flag.h - src/core/lib/promise/status_flag.h
- src/core/lib/promise/trace.h - src/core/lib/promise/trace.h
- src/core/lib/promise/try_join.h
- src/core/lib/promise/try_seq.h - src/core/lib/promise/try_seq.h
- src/core/lib/resource_quota/api.h - src/core/lib/resource_quota/api.h
- src/core/lib/resource_quota/arena.h - src/core/lib/resource_quota/arena.h
@ -4687,10 +4687,8 @@ libs:
- src/core/lib/surface/validate_metadata.h - src/core/lib/surface/validate_metadata.h
- src/core/lib/surface/wait_for_cq_end_op.h - src/core/lib/surface/wait_for_cq_end_op.h
- src/core/lib/transport/batch_builder.h - src/core/lib/transport/batch_builder.h
- src/core/lib/transport/call_factory.h
- src/core/lib/transport/call_filters.h - src/core/lib/transport/call_filters.h
- src/core/lib/transport/call_final_info.h - src/core/lib/transport/call_final_info.h
- src/core/lib/transport/call_size_estimator.h
- src/core/lib/transport/call_spine.h - src/core/lib/transport/call_spine.h
- src/core/lib/transport/connectivity_state.h - src/core/lib/transport/connectivity_state.h
- src/core/lib/transport/custom_metadata.h - src/core/lib/transport/custom_metadata.h
@ -4758,7 +4756,6 @@ libs:
- src/core/lib/address_utils/parse_address.cc - src/core/lib/address_utils/parse_address.cc
- src/core/lib/address_utils/sockaddr_utils.cc - src/core/lib/address_utils/sockaddr_utils.cc
- src/core/lib/backoff/backoff.cc - src/core/lib/backoff/backoff.cc
- src/core/lib/backoff/random_early_detection.cc
- src/core/lib/channel/call_tracer.cc - src/core/lib/channel/call_tracer.cc
- src/core/lib/channel/channel_args.cc - src/core/lib/channel/channel_args.cc
- src/core/lib/channel/channel_args_preconditioning.cc - src/core/lib/channel/channel_args_preconditioning.cc
@ -4991,10 +4988,8 @@ libs:
- src/core/lib/surface/version.cc - src/core/lib/surface/version.cc
- src/core/lib/surface/wait_for_cq_end_op.cc - src/core/lib/surface/wait_for_cq_end_op.cc
- src/core/lib/transport/batch_builder.cc - src/core/lib/transport/batch_builder.cc
- src/core/lib/transport/call_factory.cc
- src/core/lib/transport/call_filters.cc - src/core/lib/transport/call_filters.cc
- src/core/lib/transport/call_final_info.cc - src/core/lib/transport/call_final_info.cc
- src/core/lib/transport/call_size_estimator.cc
- src/core/lib/transport/call_spine.cc - src/core/lib/transport/call_spine.cc
- src/core/lib/transport/connectivity_state.cc - src/core/lib/transport/connectivity_state.cc
- src/core/lib/transport/error_utils.cc - src/core/lib/transport/error_utils.cc
@ -5043,8 +5038,6 @@ libs:
- absl/functional:function_ref - absl/functional:function_ref
- absl/hash:hash - absl/hash:hash
- absl/meta:type_traits - absl/meta:type_traits
- absl/random:bit_gen_ref
- absl/random:distributions
- absl/status:statusor - absl/status:statusor
- absl/types:span - absl/types:span
- absl/utility:utility - absl/utility:utility
@ -5233,6 +5226,7 @@ targets:
language: c++ language: c++
headers: headers:
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/bitset.h - src/core/lib/gprpp/bitset.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
@ -6386,6 +6380,7 @@ targets:
- src/core/lib/channel/channel_args.h - src/core/lib/channel/channel_args.h
- src/core/lib/compression/compression_internal.h - src/core/lib/compression/compression_internal.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -7664,6 +7659,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -9158,6 +9154,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -9764,6 +9761,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -9899,6 +9897,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -11518,6 +11517,7 @@ targets:
language: c++ language: c++
headers: headers:
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
- src/core/lib/gprpp/orphanable.h - src/core/lib/gprpp/orphanable.h
@ -11559,6 +11559,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -12068,6 +12069,7 @@ targets:
language: c++ language: c++
headers: headers:
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/bitset.h - src/core/lib/gprpp/bitset.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
@ -12231,6 +12233,7 @@ targets:
- src/core/ext/upb-gen/google/rpc/status.upb.h - src/core/ext/upb-gen/google/rpc/status.upb.h
- src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/experiments/config.h - src/core/lib/experiments/config.h
- src/core/lib/experiments/experiments.h - src/core/lib/experiments/experiments.h
- src/core/lib/gpr/spinlock.h - src/core/lib/gpr/spinlock.h
@ -12837,6 +12840,7 @@ targets:
build: test build: test
language: c++ language: c++
headers: headers:
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
- src/core/lib/gprpp/orphanable.h - src/core/lib/gprpp/orphanable.h
@ -13125,6 +13129,7 @@ targets:
build: test build: test
language: c++ language: c++
headers: headers:
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
- src/core/lib/gprpp/notification.h - src/core/lib/gprpp/notification.h
@ -14042,6 +14047,7 @@ targets:
language: c++ language: c++
headers: headers:
- src/core/lib/debug/trace.h - src/core/lib/debug/trace.h
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/bitset.h - src/core/lib/gprpp/bitset.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
@ -19611,6 +19617,7 @@ targets:
build: test build: test
language: c++ language: c++
headers: headers:
- src/core/lib/event_engine/event_engine_context.h
- src/core/lib/gprpp/atomic_utils.h - src/core/lib/gprpp/atomic_utils.h
- src/core/lib/gprpp/down_cast.h - src/core/lib/gprpp/down_cast.h
- src/core/lib/gprpp/notification.h - src/core/lib/gprpp/notification.h

2
gRPC-C++.podspec generated
View File

@ -930,6 +930,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h', 'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h', 'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h', 'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
@ -2195,6 +2196,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h', 'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h', 'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h', 'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',

2
gRPC-Core.podspec generated
View File

@ -1318,6 +1318,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/default_event_engine_factory.cc', 'src/core/lib/event_engine/default_event_engine_factory.cc',
'src/core/lib/event_engine/default_event_engine_factory.h', 'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine.cc', 'src/core/lib/event_engine/event_engine.cc',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',
@ -2977,6 +2978,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h', 'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h', 'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h', 'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h', 'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h', 'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h', 'src/core/lib/event_engine/extensions/supports_fd.h',

1
grpc.gemspec generated
View File

@ -1208,6 +1208,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/event_engine/default_event_engine_factory.cc ) s.files += %w( src/core/lib/event_engine/default_event_engine_factory.cc )
s.files += %w( src/core/lib/event_engine/default_event_engine_factory.h ) s.files += %w( src/core/lib/event_engine/default_event_engine_factory.h )
s.files += %w( src/core/lib/event_engine/event_engine.cc ) s.files += %w( src/core/lib/event_engine/event_engine.cc )
s.files += %w( src/core/lib/event_engine/event_engine_context.h )
s.files += %w( src/core/lib/event_engine/extensions/can_track_errors.h ) s.files += %w( src/core/lib/event_engine/extensions/can_track_errors.h )
s.files += %w( src/core/lib/event_engine/extensions/chaotic_good_extension.h ) s.files += %w( src/core/lib/event_engine/extensions/chaotic_good_extension.h )
s.files += %w( src/core/lib/event_engine/extensions/supports_fd.h ) s.files += %w( src/core/lib/event_engine/extensions/supports_fd.h )

1
package.xml generated
View File

@ -1190,6 +1190,7 @@
<file baseinstalldir="/" name="src/core/lib/event_engine/default_event_engine_factory.cc" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/default_event_engine_factory.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/default_event_engine_factory.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/default_event_engine_factory.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/event_engine.cc" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/event_engine.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/event_engine_context.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/can_track_errors.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/extensions/can_track_errors.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/chaotic_good_extension.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/extensions/chaotic_good_extension.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/event_engine/extensions/supports_fd.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/event_engine/extensions/supports_fd.h" role="src" />

View File

@ -592,7 +592,7 @@ grpc_cc_library(
deps = [ deps = [
"activity", "activity",
"context", "context",
"default_event_engine", "event_engine_context",
"poll", "poll",
"time", "time",
"//:event_engine_base_hdrs", "//:event_engine_base_hdrs",
@ -906,6 +906,7 @@ grpc_cc_library(
"atomic_utils", "atomic_utils",
"construct_destruct", "construct_destruct",
"context", "context",
"event_engine_context",
"no_destruct", "no_destruct",
"poll", "poll",
"promise_factory", "promise_factory",
@ -2608,6 +2609,21 @@ grpc_cc_library(
], ],
) )
grpc_cc_library(
name = "event_engine_context",
hdrs = [
"lib/event_engine/event_engine_context.h",
],
visibility = [
"@grpc:alt_grpc_base_legacy",
],
deps = [
"context",
"//:event_engine_base_hdrs",
"//:gpr",
],
)
grpc_cc_library( grpc_cc_library(
name = "default_event_engine", name = "default_event_engine",
srcs = [ srcs = [
@ -2622,7 +2638,6 @@ grpc_cc_library(
], ],
deps = [ deps = [
"channel_args", "channel_args",
"context",
"default_event_engine_factory", "default_event_engine_factory",
"event_engine_trace", "event_engine_trace",
"no_destruct", "no_destruct",
@ -3549,6 +3564,7 @@ grpc_cc_library(
"channel_args", "channel_args",
"channel_fwd", "channel_fwd",
"context", "context",
"event_engine_context",
"grpc_server_config_selector", "grpc_server_config_selector",
"grpc_service_config", "grpc_service_config",
"metadata_batch", "metadata_batch",
@ -7443,10 +7459,10 @@ grpc_cc_library(
"chaotic_good_settings_metadata", "chaotic_good_settings_metadata",
"closure", "closure",
"context", "context",
"default_event_engine",
"error", "error",
"error_utils", "error_utils",
"event_engine_common", "event_engine_common",
"event_engine_context",
"event_engine_extensions", "event_engine_extensions",
"event_engine_query_extensions", "event_engine_query_extensions",
"event_engine_tcp_socket_utils", "event_engine_tcp_socket_utils",

View File

@ -31,6 +31,7 @@
#include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/context.h" #include "src/core/lib/channel/context.h"
#include "src/core/lib/channel/promise_based_filter.h" #include "src/core/lib/channel/promise_based_filter.h"
#include "src/core/lib/event_engine/event_engine_context.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/status_helper.h" #include "src/core/lib/gprpp/status_helper.h"
#include "src/core/lib/gprpp/sync.h" #include "src/core/lib/gprpp/sync.h"

View File

@ -34,7 +34,6 @@
#include "src/core/ext/transport/chaotic_good/settings_metadata.h" #include "src/core/ext/transport/chaotic_good/settings_metadata.h"
#include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/event_engine/channel_args_endpoint_config.h" #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
#include "src/core/lib/event_engine/default_event_engine.h"
#include "src/core/lib/event_engine/extensions/chaotic_good_extension.h" #include "src/core/lib/event_engine/extensions/chaotic_good_extension.h"
#include "src/core/lib/event_engine/query_extensions.h" #include "src/core/lib/event_engine/query_extensions.h"
#include "src/core/lib/event_engine/tcp_socket_utils.h" #include "src/core/lib/event_engine/tcp_socket_utils.h"

View File

@ -38,7 +38,7 @@
#include "src/core/ext/transport/chaotic_good/settings_metadata.h" #include "src/core/ext/transport/chaotic_good/settings_metadata.h"
#include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/event_engine/channel_args_endpoint_config.h" #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
#include "src/core/lib/event_engine/default_event_engine.h" #include "src/core/lib/event_engine/event_engine_context.h"
#include "src/core/lib/event_engine/extensions/chaotic_good_extension.h" #include "src/core/lib/event_engine/extensions/chaotic_good_extension.h"
#include "src/core/lib/event_engine/query_extensions.h" #include "src/core/lib/event_engine/query_extensions.h"
#include "src/core/lib/event_engine/resolved_address_internal.h" #include "src/core/lib/event_engine/resolved_address_internal.h"

View File

@ -47,8 +47,8 @@
#include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/context.h" #include "src/core/lib/channel/context.h"
#include "src/core/lib/event_engine/default_event_engine.h" // IWYU pragma: keep #include "src/core/lib/event_engine/default_event_engine.h"
#include "src/core/lib/gprpp/crash.h" #include "src/core/lib/event_engine/event_engine_context.h" // IWYU pragma: keep
#include "src/core/lib/gprpp/debug_location.h" #include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/time.h" #include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/call_combiner.h" #include "src/core/lib/iomgr/call_combiner.h"

View File

@ -23,12 +23,6 @@
#include "src/core/lib/config/core_configuration.h" #include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/debug_location.h" #include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/promise/context.h"
namespace grpc_core {
template <>
struct ContextType<grpc_event_engine::experimental::EventEngine> {};
} // namespace grpc_core
namespace grpc_event_engine { namespace grpc_event_engine {
namespace experimental { namespace experimental {

View File

@ -0,0 +1,31 @@
// Copyright 2024 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef GRPC_SRC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_CONTEXT_H
#define GRPC_SRC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_CONTEXT_H
#include <grpc/support/port_platform.h>
#include <grpc/event_engine/event_engine.h>
#include "src/core/lib/promise/context.h"
namespace grpc_core {
template <>
struct ContextType<grpc_event_engine::experimental::EventEngine> {};
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_CONTEXT_H

View File

@ -31,6 +31,7 @@
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include "src/core/lib/event_engine/event_engine_context.h"
#include "src/core/lib/gprpp/construct_destruct.h" #include "src/core/lib/gprpp/construct_destruct.h"
#include "src/core/lib/gprpp/no_destruct.h" #include "src/core/lib/gprpp/no_destruct.h"
#include "src/core/lib/gprpp/orphanable.h" #include "src/core/lib/gprpp/orphanable.h"

View File

@ -20,7 +20,7 @@
#include <grpc/event_engine/event_engine.h> #include <grpc/event_engine/event_engine.h>
#include "src/core/lib/event_engine/default_event_engine.h" // IWYU pragma: keep #include "src/core/lib/event_engine/event_engine_context.h" // IWYU pragma: keep
#include "src/core/lib/gprpp/time.h" #include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/promise/activity.h" #include "src/core/lib/promise/activity.h"

View File

@ -2207,6 +2207,7 @@ src/core/lib/event_engine/default_event_engine.h \
src/core/lib/event_engine/default_event_engine_factory.cc \ src/core/lib/event_engine/default_event_engine_factory.cc \
src/core/lib/event_engine/default_event_engine_factory.h \ src/core/lib/event_engine/default_event_engine_factory.h \
src/core/lib/event_engine/event_engine.cc \ src/core/lib/event_engine/event_engine.cc \
src/core/lib/event_engine/event_engine_context.h \
src/core/lib/event_engine/extensions/can_track_errors.h \ src/core/lib/event_engine/extensions/can_track_errors.h \
src/core/lib/event_engine/extensions/chaotic_good_extension.h \ src/core/lib/event_engine/extensions/chaotic_good_extension.h \
src/core/lib/event_engine/extensions/supports_fd.h \ src/core/lib/event_engine/extensions/supports_fd.h \

View File

@ -1979,6 +1979,7 @@ src/core/lib/event_engine/default_event_engine.h \
src/core/lib/event_engine/default_event_engine_factory.cc \ src/core/lib/event_engine/default_event_engine_factory.cc \
src/core/lib/event_engine/default_event_engine_factory.h \ src/core/lib/event_engine/default_event_engine_factory.h \
src/core/lib/event_engine/event_engine.cc \ src/core/lib/event_engine/event_engine.cc \
src/core/lib/event_engine/event_engine_context.h \
src/core/lib/event_engine/extensions/can_track_errors.h \ src/core/lib/event_engine/extensions/can_track_errors.h \
src/core/lib/event_engine/extensions/chaotic_good_extension.h \ src/core/lib/event_engine/extensions/chaotic_good_extension.h \
src/core/lib/event_engine/extensions/supports_fd.h \ src/core/lib/event_engine/extensions/supports_fd.h \