Skip to content

Commit 06d4be0

Browse files
authored
Merge pull request grpc#22844 from muxi/cfstream-doc
Update CFStream doc with CFRunLoop poller info
2 parents 2bfbef4 + 9640aa3 commit 06d4be0

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/objective-c/README-CFSTREAM.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,18 @@ platforms, you can turn it on with macro `GRPC_CFSTREAM=1` for the pod 'gRPC-Cor
2323
case of problem and you want to disable CFStream on iOS, you can set environment variable
2424
"grpc\_cfstream=0".
2525

26+
## Caveats
27+
It is known to us that the CFStream API has some bug (FB6162039) which will cause gRPC's CFStream
28+
networking layer to stall occasionally. The issue mostly occur on MacOS systems (including iOS
29+
simulators on MacOS); iOS may be affected too but we have not seen issue there. gRPC provides a
30+
workaround to this problem with an alternative poller based on CFRunLoop. The poller can be enabled
31+
by setting environment variable `GRPC_CFSTREAM_RUN_LOOP=1`. Note that the poller is a client side
32+
only poller that does not support running a server on it. That means if an app opts in to the
33+
CFRunLoop-based poller, the app cannot host a gRPC server (gRPC Objective-C does not support running
34+
a server but other languages running on iOS do support it).
35+
2636
## Notes
2737

2838
- Currently we do not support platforms other than iOS, although it is likely that this integration
2939
can run on MacOS targets with Apple's compiler.
30-
- Let us know if you meet any issue by filing issue and ping @muxi.
40+
- Let us know if you meet any issue by filing issue and ping @stanleycheung.

0 commit comments

Comments
 (0)