Muxi Yan e773a9b75f Use /tmpfs on Kokoro for ObjC tests 7 лет назад
..
GRPCClient 8c9af7464c Regenerate projects 7 лет назад
ProtoRPC 10a8c16f24 Revert "Revert "Revert "Provide protocol for initializer of generated messages""" 7 лет назад
RxLibrary 4d6644ada8 Merge pull request #15429 from grpc/fix-conc-self 7 лет назад
examples a2da1d7b1b Scripts for iOS size audit 7 лет назад
tests e773a9b75f Use /tmpfs on Kokoro for ObjC tests 7 лет назад
!ProtoCompiler-gRPCPlugin.podspec 8c9af7464c Regenerate projects 7 лет назад
!ProtoCompiler.podspec 81f8be347e Upgrade protobuf version in podspec 8 лет назад
BoringSSL.podspec f6246fd01d Change BoringSSL home page to github for China access 7 лет назад
CronetFramework.podspec 123d0dbd61 bug fix 9 лет назад
NetworkTransitionBehavior.md 5d4bb063e1 Fix grammar 7 лет назад
README-CFSTREAM.md ec1c014413 Update link to network transition behavior doc 7 лет назад
README.md 53e0b74a0a Specify minimum supported versions in README.md 8 лет назад
change-comments.py 7897ae9308 auto-fix most of licenses 8 лет назад
format-all-comments.sh 7897ae9308 auto-fix most of licenses 8 лет назад

README-CFSTREAM.md

Cocoapods

gRPC Objective-C with CFStream

gRPC Objective-C library now provides the option to use Apple's CFStream API (rather than TCP sockets) for networking. Using CFStream resolves a bunch of network connectivity transition issues (see the doc for more information).

CFStream integration is now in experimental state. You will need explicit opt-in to use it to get the benefits of resolving the issues above. We expect to make CFStream the default networking interface that gRPC uses when it is ready for production.

Usage

If you use gRPC following the instructions in README.md:

  • Simply replace the dependency on gRPC-ProtoRPC with gRPC-ProtoRPC/CFStream. The build system will take care of everything else and switch networking to CFStream.

If your project directly depends on podspecs other than gRPC-ProtoRPC (e.g. gRPC or gRPC-Core):

  • Make your projects depend on subspecs corresponding to CFStream in each gRPC podspec. For gRPC-Core, you will need to make sure that the completion queue you create is of type GRPC_CQ_NON_POLLING. This is expected to be fixed soon so that you do not have to modify the completion queue type.

Notes

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