Skip to content

Commit e297ebb

Browse files
HannahShiSFBXuanWang-Amos
authored andcommitted
[ObjC] Raise Socket closed error when cfstream endpoint receive 0 byte data (grpc#38359)
While investigating firebase/firebase-ios-sdk#14018, I noticed a different behavior of cfstream endpoint, where it returns ok when reading 0 bytes data while [posix_endpoint](https://github.com/grpc/grpc/blob/v1.69.0/src/core/lib/event_engine/posix_engine/posix_endpoint.cc#L355-L356) raises socket closed error. This PR aligns the cfstream endpoint behavior with posix endpoint Closes grpc#38359 COPYBARA_INTEGRATE_REVIEW=grpc#38359 from HannahShiSFB:event-engine-endpoint-lifecycle bbeab2a PiperOrigin-RevId: 716683888
1 parent 03998df commit e297ebb

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,8 @@ void CFStreamEndpointImpl::DoRead(
298298
}
299299

300300
buffer->RemoveLastNBytes(buffer->Length() - read_size);
301-
on_read(absl::OkStatus());
301+
on_read(read_size == 0 ? absl::InternalError("Socket closed")
302+
: absl::OkStatus());
302303
}
303304

304305
bool CFStreamEndpointImpl::Write(

tools/internal_ci/macos/grpc_objc_bazel_test.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ EVENT_ENGINE_TEST_TARGETS=(
131131
//src/objective-c/tests:MacTests
132132
//src/objective-c/tests:UnitTests
133133
//src/objective-c/tests:EventEngineUnitTests
134+
//src/objective-c/tests:CFStreamTests
134135
//src/objective-c/tests:tvtests_build_test
135136
)
136137

@@ -143,7 +144,7 @@ objc_event_engine_bazel_tests/bazel_wrapper \
143144
"${BAZEL_REMOTE_CACHE_ARGS[@]}" \
144145
$BAZEL_FLAGS \
145146
--test_env=GRPC_EXPERIMENTS=event_engine_client \
146-
--test_env=GRPC_VERBOSITY=debug --test_env=GRPC_TRACE=event_engine,api \
147+
--test_env=GRPC_VERBOSITY=debug --test_env=GRPC_TRACE=event_engine*,api \
147148
"${OBJC_TEST_ENV_ARGS[@]}" \
148149
-- \
149150
"${EXAMPLE_TARGETS[@]}" \

0 commit comments

Comments
 (0)