diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8ae6cb92577d6..40faf900f7589 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -860,6 +860,9 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx cel_authorization_engine_test)
add_dependencies(buildtests_cxx certificate_provider_registry_test)
add_dependencies(buildtests_cxx certificate_provider_store_test)
+ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+ add_dependencies(buildtests_cxx cf_engine_test)
+ endif()
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx cf_event_engine_test)
endif()
@@ -1099,10 +1102,10 @@ if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx posix_engine_listener_utils_test)
endif()
- if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx posix_event_engine_connect_test)
endif()
- if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx posix_event_engine_test)
endif()
add_dependencies(buildtests_cxx promise_factory_test)
@@ -2177,6 +2180,8 @@ add_library(grpc
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
+ src/core/lib/event_engine/cf_engine/cf_engine.cc
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
src/core/lib/event_engine/channel_args_endpoint_config.cc
src/core/lib/event_engine/default_event_engine.cc
src/core/lib/event_engine/default_event_engine_factory.cc
@@ -2867,6 +2872,8 @@ add_library(grpc_unsecure
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
+ src/core/lib/event_engine/cf_engine/cf_engine.cc
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
src/core/lib/event_engine/channel_args_endpoint_config.cc
src/core/lib/event_engine/default_event_engine.cc
src/core/lib/event_engine/default_event_engine_factory.cc
@@ -4387,6 +4394,8 @@ add_library(grpc_authorization_provider
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
+ src/core/lib/event_engine/cf_engine/cf_engine.cc
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
src/core/lib/event_engine/channel_args_endpoint_config.cc
src/core/lib/event_engine/default_event_engine.cc
src/core/lib/event_engine/default_event_engine_factory.cc
@@ -7672,15 +7681,55 @@ target_link_libraries(certificate_provider_store_test
)
+endif()
+if(gRPC_BUILD_TESTS)
+if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+
+ add_executable(cf_engine_test
+ test/core/event_engine/cf/cf_engine_test.cc
+ third_party/googletest/googletest/src/gtest-all.cc
+ third_party/googletest/googlemock/src/gmock-all.cc
+ )
+ target_compile_features(cf_engine_test PUBLIC cxx_std_14)
+ target_include_directories(cf_engine_test
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
+ ${_gRPC_RE2_INCLUDE_DIR}
+ ${_gRPC_SSL_INCLUDE_DIR}
+ ${_gRPC_UPB_GENERATED_DIR}
+ ${_gRPC_UPB_GRPC_GENERATED_DIR}
+ ${_gRPC_UPB_INCLUDE_DIR}
+ ${_gRPC_XXHASH_INCLUDE_DIR}
+ ${_gRPC_ZLIB_INCLUDE_DIR}
+ third_party/googletest/googletest/include
+ third_party/googletest/googletest
+ third_party/googletest/googlemock/include
+ third_party/googletest/googlemock
+ ${_gRPC_PROTO_GENS_DIR}
+ )
+
+ target_link_libraries(cf_engine_test
+ ${_gRPC_BASELIB_LIBRARIES}
+ ${_gRPC_PROTOBUF_LIBRARIES}
+ ${_gRPC_ZLIB_LIBRARIES}
+ ${_gRPC_ALLTARGETS_LIBRARIES}
+ grpc_test_util
+ )
+
+
+endif()
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(cf_event_engine_test
- src/core/lib/event_engine/cf_engine/cf_engine.cc
test/core/event_engine/event_engine_test_utils.cc
test/core/event_engine/test_suite/cf_event_engine_test.cc
test/core/event_engine/test_suite/event_engine_test_framework.cc
+ test/core/event_engine/test_suite/posix/oracle_event_engine_posix.cc
+ test/core/event_engine/test_suite/tests/client_test.cc
test/core/event_engine/test_suite/tests/timer_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
@@ -11449,6 +11498,8 @@ add_executable(frame_test
src/core/lib/debug/stats.cc
src/core/lib/debug/stats_data.cc
src/core/lib/debug/trace.cc
+ src/core/lib/event_engine/cf_engine/cf_engine.cc
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
src/core/lib/event_engine/channel_args_endpoint_config.cc
src/core/lib/event_engine/default_event_engine.cc
src/core/lib/event_engine/default_event_engine_factory.cc
@@ -16579,7 +16630,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
endif()
endif()
if(gRPC_BUILD_TESTS)
-if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_executable(posix_event_engine_connect_test
test/core/event_engine/event_engine_test_utils.cc
@@ -16622,7 +16673,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
endif()
endif()
if(gRPC_BUILD_TESTS)
-if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
+if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_executable(posix_event_engine_test
test/core/event_engine/event_engine_test_utils.cc
diff --git a/Makefile b/Makefile
index f5710676a3302..5155576bf152d 100644
--- a/Makefile
+++ b/Makefile
@@ -1426,6 +1426,8 @@ LIBGRPC_SRC = \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
+ src/core/lib/event_engine/cf_engine/cf_engine.cc \
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
src/core/lib/event_engine/channel_args_endpoint_config.cc \
src/core/lib/event_engine/default_event_engine.cc \
src/core/lib/event_engine/default_event_engine_factory.cc \
@@ -1969,6 +1971,8 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
+ src/core/lib/event_engine/cf_engine/cf_engine.cc \
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
src/core/lib/event_engine/channel_args_endpoint_config.cc \
src/core/lib/event_engine/default_event_engine.cc \
src/core/lib/event_engine/default_event_engine_factory.cc \
diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml
index 577fbbac247fa..1b0f2fcc1fa5d 100644
--- a/build_autogenerated.yaml
+++ b/build_autogenerated.yaml
@@ -790,6 +790,9 @@ libs:
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
+ - src/core/lib/event_engine/cf_engine/cf_engine.h
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h
+ - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h
- src/core/lib/event_engine/channel_args_endpoint_config.h
- src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h
@@ -1575,6 +1578,8 @@ libs:
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
+ - src/core/lib/event_engine/cf_engine/cf_engine.cc
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
- src/core/lib/event_engine/channel_args_endpoint_config.cc
- src/core/lib/event_engine/default_event_engine.cc
- src/core/lib/event_engine/default_event_engine_factory.cc
@@ -2133,6 +2138,9 @@ libs:
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
+ - src/core/lib/event_engine/cf_engine/cf_engine.h
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h
+ - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h
- src/core/lib/event_engine/channel_args_endpoint_config.h
- src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h
@@ -2531,6 +2539,8 @@ libs:
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
+ - src/core/lib/event_engine/cf_engine/cf_engine.cc
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
- src/core/lib/event_engine/channel_args_endpoint_config.cc
- src/core/lib/event_engine/default_event_engine.cc
- src/core/lib/event_engine/default_event_engine_factory.cc
@@ -3597,6 +3607,9 @@ libs:
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
+ - src/core/lib/event_engine/cf_engine/cf_engine.h
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h
+ - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h
- src/core/lib/event_engine/channel_args_endpoint_config.h
- src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h
@@ -3874,6 +3887,8 @@ libs:
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
+ - src/core/lib/event_engine/cf_engine/cf_engine.cc
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
- src/core/lib/event_engine/channel_args_endpoint_config.cc
- src/core/lib/event_engine/default_event_engine.cc
- src/core/lib/event_engine/default_event_engine_factory.cc
@@ -5532,20 +5547,35 @@ targets:
- test/core/xds/certificate_provider_store_test.cc
deps:
- grpc_test_util
+- name: cf_engine_test
+ gtest: true
+ build: test
+ language: c++
+ headers: []
+ src:
+ - test/core/event_engine/cf/cf_engine_test.cc
+ deps:
+ - grpc_test_util
+ platforms:
+ - linux
+ - posix
+ - mac
- name: cf_event_engine_test
gtest: true
build: test
language: c++
headers:
- - src/core/lib/event_engine/cf_engine/cf_engine.h
- test/core/event_engine/event_engine_test_utils.h
- test/core/event_engine/test_suite/event_engine_test_framework.h
+ - test/core/event_engine/test_suite/posix/oracle_event_engine_posix.h
+ - test/core/event_engine/test_suite/tests/client_test.h
- test/core/event_engine/test_suite/tests/timer_test.h
src:
- - src/core/lib/event_engine/cf_engine/cf_engine.cc
- test/core/event_engine/event_engine_test_utils.cc
- test/core/event_engine/test_suite/cf_event_engine_test.cc
- test/core/event_engine/test_suite/event_engine_test_framework.cc
+ - test/core/event_engine/test_suite/posix/oracle_event_engine_posix.cc
+ - test/core/event_engine/test_suite/tests/client_test.cc
- test/core/event_engine/test_suite/tests/timer_test.cc
deps:
- grpc_unsecure
@@ -5554,7 +5584,6 @@ targets:
- linux
- posix
- mac
- uses_polling: false
- name: cfstream_test
gtest: true
build: test
@@ -7407,6 +7436,9 @@ targets:
- src/core/lib/debug/stats.h
- src/core/lib/debug/stats_data.h
- src/core/lib/debug/trace.h
+ - src/core/lib/event_engine/cf_engine/cf_engine.h
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h
+ - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h
- src/core/lib/event_engine/channel_args_endpoint_config.h
- src/core/lib/event_engine/common_closures.h
- src/core/lib/event_engine/default_event_engine.h
@@ -7667,6 +7699,8 @@ targets:
- src/core/lib/debug/stats.cc
- src/core/lib/debug/stats_data.cc
- src/core/lib/debug/trace.cc
+ - src/core/lib/event_engine/cf_engine/cf_engine.cc
+ - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc
- src/core/lib/event_engine/channel_args_endpoint_config.cc
- src/core/lib/event_engine/default_event_engine.cc
- src/core/lib/event_engine/default_event_engine_factory.cc
@@ -10071,7 +10105,6 @@ targets:
platforms:
- linux
- posix
- - mac
- name: posix_event_engine_test
gtest: true
build: test
@@ -10097,7 +10130,6 @@ targets:
platforms:
- linux
- posix
- - mac
- name: promise_factory_test
gtest: true
build: test
diff --git a/config.m4 b/config.m4
index 92612e073b6ca..8007175b3a748 100644
--- a/config.m4
+++ b/config.m4
@@ -507,6 +507,8 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/debug/stats.cc \
src/core/lib/debug/stats_data.cc \
src/core/lib/debug/trace.cc \
+ src/core/lib/event_engine/cf_engine/cf_engine.cc \
+ src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
src/core/lib/event_engine/channel_args_endpoint_config.cc \
src/core/lib/event_engine/default_event_engine.cc \
src/core/lib/event_engine/default_event_engine_factory.cc \
@@ -1413,6 +1415,7 @@ if test "$PHP_GRPC" != "no"; then
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/event_engine/cf_engine)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/posix_engine)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments)
diff --git a/config.w32 b/config.w32
index 6da67e3c94c8f..ef582bd5ddab0 100644
--- a/config.w32
+++ b/config.w32
@@ -473,6 +473,8 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\debug\\stats.cc " +
"src\\core\\lib\\debug\\stats_data.cc " +
"src\\core\\lib\\debug\\trace.cc " +
+ "src\\core\\lib\\event_engine\\cf_engine\\cf_engine.cc " +
+ "src\\core\\lib\\event_engine\\cf_engine\\cfstream_endpoint.cc " +
"src\\core\\lib\\event_engine\\channel_args_endpoint_config.cc " +
"src\\core\\lib\\event_engine\\default_event_engine.cc " +
"src\\core\\lib\\event_engine\\default_event_engine_factory.cc " +
@@ -1545,6 +1547,7 @@ if (PHP_GRPC != "no") {
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\\event_engine\\cf_engine");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\posix_engine");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments");
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index 5656c0bcc96a8..9417b60de92cb 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -734,6 +734,9 @@ Pod::Spec.new do |s|
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.h',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
+ 'src/core/lib/event_engine/cf_engine/cftype_unique_ref.h',
'src/core/lib/event_engine/channel_args_endpoint_config.h',
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
@@ -1669,6 +1672,9 @@ Pod::Spec.new do |s|
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.h',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
+ 'src/core/lib/event_engine/cf_engine/cftype_unique_ref.h',
'src/core/lib/event_engine/channel_args_endpoint_config.h',
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 5f1b1963a2630..24aea917c792d 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -1130,6 +1130,11 @@ Pod::Spec.new do |s|
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.cc',
'src/core/lib/debug/trace.h',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.h',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
+ 'src/core/lib/event_engine/cf_engine/cftype_unique_ref.h',
'src/core/lib/event_engine/channel_args_endpoint_config.cc',
'src/core/lib/event_engine/channel_args_endpoint_config.h',
'src/core/lib/event_engine/common_closures.h',
@@ -2358,6 +2363,9 @@ Pod::Spec.new do |s|
'src/core/lib/debug/stats.h',
'src/core/lib/debug/stats_data.h',
'src/core/lib/debug/trace.h',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.h',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.h',
+ 'src/core/lib/event_engine/cf_engine/cftype_unique_ref.h',
'src/core/lib/event_engine/channel_args_endpoint_config.h',
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
diff --git a/grpc.gemspec b/grpc.gemspec
index fdbd9757882bf..c1ef585de97b1 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -1039,6 +1039,11 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/debug/stats_data.h )
s.files += %w( src/core/lib/debug/trace.cc )
s.files += %w( src/core/lib/debug/trace.h )
+ s.files += %w( src/core/lib/event_engine/cf_engine/cf_engine.cc )
+ s.files += %w( src/core/lib/event_engine/cf_engine/cf_engine.h )
+ s.files += %w( src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc )
+ s.files += %w( src/core/lib/event_engine/cf_engine/cfstream_endpoint.h )
+ s.files += %w( src/core/lib/event_engine/cf_engine/cftype_unique_ref.h )
s.files += %w( src/core/lib/event_engine/channel_args_endpoint_config.cc )
s.files += %w( src/core/lib/event_engine/channel_args_endpoint_config.h )
s.files += %w( src/core/lib/event_engine/common_closures.h )
diff --git a/grpc.gyp b/grpc.gyp
index cba8fd1e7aad0..c0bf939d4c96d 100644
--- a/grpc.gyp
+++ b/grpc.gyp
@@ -839,6 +839,8 @@
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc',
'src/core/lib/event_engine/channel_args_endpoint_config.cc',
'src/core/lib/event_engine/default_event_engine.cc',
'src/core/lib/event_engine/default_event_engine_factory.cc',
@@ -1324,6 +1326,8 @@
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc',
'src/core/lib/event_engine/channel_args_endpoint_config.cc',
'src/core/lib/event_engine/default_event_engine.cc',
'src/core/lib/event_engine/default_event_engine_factory.cc',
@@ -1833,6 +1837,8 @@
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc',
'src/core/lib/event_engine/channel_args_endpoint_config.cc',
'src/core/lib/event_engine/default_event_engine.cc',
'src/core/lib/event_engine/default_event_engine_factory.cc',
diff --git a/package.xml b/package.xml
index bf49b7242cce8..f5755088977f5 100644
--- a/package.xml
+++ b/package.xml
@@ -1021,6 +1021,11 @@
+
+
+
+
+
diff --git a/src/core/BUILD b/src/core/BUILD
index 190e3911a995b..dbbd0b61dd705 100644
--- a/src/core/BUILD
+++ b/src/core/BUILD
@@ -2080,12 +2080,15 @@ grpc_cc_library(
"lib/event_engine/cf_engine/cfstream_endpoint.h",
"lib/event_engine/cf_engine/cftype_unique_ref.h",
],
+ external_deps = ["absl/strings:str_format"],
deps = [
"event_engine_common",
"event_engine_tcp_socket_utils",
"event_engine_trace",
"event_engine_utils",
"init_internally",
+ "posix_event_engine_closure",
+ "posix_event_engine_event_poller",
"posix_event_engine_lockfree_event",
"posix_event_engine_timer_manager",
"strerror",
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index 83b622e0b3870..8b961b948bfc6 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -482,6 +482,8 @@
'src/core/lib/debug/stats.cc',
'src/core/lib/debug/stats_data.cc',
'src/core/lib/debug/trace.cc',
+ 'src/core/lib/event_engine/cf_engine/cf_engine.cc',
+ 'src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc',
'src/core/lib/event_engine/channel_args_endpoint_config.cc',
'src/core/lib/event_engine/default_event_engine.cc',
'src/core/lib/event_engine/default_event_engine_factory.cc',
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index 4a41380df9ca1..7a070d4a0048e 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -2034,6 +2034,11 @@ src/core/lib/debug/stats_data.cc \
src/core/lib/debug/stats_data.h \
src/core/lib/debug/trace.cc \
src/core/lib/debug/trace.h \
+src/core/lib/event_engine/cf_engine/cf_engine.cc \
+src/core/lib/event_engine/cf_engine/cf_engine.h \
+src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
+src/core/lib/event_engine/cf_engine/cfstream_endpoint.h \
+src/core/lib/event_engine/cf_engine/cftype_unique_ref.h \
src/core/lib/event_engine/channel_args_endpoint_config.cc \
src/core/lib/event_engine/channel_args_endpoint_config.h \
src/core/lib/event_engine/common_closures.h \
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 22bc220dc85fb..f39c8e13907da 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1812,6 +1812,11 @@ src/core/lib/debug/stats_data.cc \
src/core/lib/debug/stats_data.h \
src/core/lib/debug/trace.cc \
src/core/lib/debug/trace.h \
+src/core/lib/event_engine/cf_engine/cf_engine.cc \
+src/core/lib/event_engine/cf_engine/cf_engine.h \
+src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
+src/core/lib/event_engine/cf_engine/cfstream_endpoint.h \
+src/core/lib/event_engine/cf_engine/cftype_unique_ref.h \
src/core/lib/event_engine/channel_args_endpoint_config.cc \
src/core/lib/event_engine/channel_args_endpoint_config.h \
src/core/lib/event_engine/common_closures.h \
diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json
index 6068109881c3a..177ea9d636756 100644
--- a/tools/run_tests/generated/tests.json
+++ b/tools/run_tests/generated/tests.json
@@ -1463,6 +1463,28 @@
],
"uses_polling": true
},
+ {
+ "args": [],
+ "benchmark": false,
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "cpu_cost": 1.0,
+ "exclude_configs": [],
+ "exclude_iomgrs": [],
+ "flaky": false,
+ "gtest": true,
+ "language": "c++",
+ "name": "cf_engine_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix"
+ ],
+ "uses_polling": true
+ },
{
"args": [],
"benchmark": false,
@@ -1483,7 +1505,7 @@
"mac",
"posix"
],
- "uses_polling": false
+ "uses_polling": true
},
{
"args": [],
@@ -5544,7 +5566,6 @@
"benchmark": false,
"ci_platforms": [
"linux",
- "mac",
"posix"
],
"cpu_cost": 1.0,
@@ -5556,7 +5577,6 @@
"name": "posix_event_engine_connect_test",
"platforms": [
"linux",
- "mac",
"posix"
],
"uses_polling": true
@@ -5566,7 +5586,6 @@
"benchmark": false,
"ci_platforms": [
"linux",
- "mac",
"posix"
],
"cpu_cost": 1.0,
@@ -5578,7 +5597,6 @@
"name": "posix_event_engine_test",
"platforms": [
"linux",
- "mac",
"posix"
],
"uses_polling": true