Sen descrición

Tim Burks c3f35da0cc Update command-line Client/Server examples to synchronize with NSCondition variables. %!s(int64=9) %!d(string=hai) anos
Examples c7da778d6e Add comments to Echo example. %!s(int64=9) %!d(string=hai) anos
Packages c3f35da0cc Update command-line Client/Server examples to synchronize with NSCondition variables. %!s(int64=9) %!d(string=hai) anos
QuickProto 9e7887504f rename "create[X]" methods to "make[X]" to follow Swift API guidelines %!s(int64=9) %!d(string=hai) anos
gRPC cc616f53e0 first working TLS client calls %!s(int64=9) %!d(string=hai) anos
gRPC.xcodeproj f9cdb3a098 First attempt at writing client-streaming (collect) and server-streaming (expand) API clients %!s(int64=9) %!d(string=hai) anos
third_party 8704135154 Converting Echo example to use apple/swift-protobuf, beginning conversion of Speech sample %!s(int64=9) %!d(string=hai) anos
.gitignore 6a1e661e29 Swift Echo sample %!s(int64=9) %!d(string=hai) anos
.gitmodules 1b70069065 updating Linux builds %!s(int64=9) %!d(string=hai) anos
CONTRIBUTING.md 98a8b64da5 Update README and CONTRIBUTING. %!s(int64=9) %!d(string=hai) anos
LICENSE d983798ec5 Fix license date (thomasvl@) %!s(int64=9) %!d(string=hai) anos
OVERVIEW.md 9267094097 Add initial API overview document. %!s(int64=9) %!d(string=hai) anos
PATENTS 36f2bde28e Add PATENTS declaration %!s(int64=9) %!d(string=hai) anos
README.md 98a8b64da5 Update README and CONTRIBUTING. %!s(int64=9) %!d(string=hai) anos

README.md

Swift gRPC API

This repository contains an experimental Swift gRPC API.

Not yet intended for production use, it provides low-level Swift wrappers for the C gRPC API that can be used to build higher-level structures supporting streaming and nonstreaming gRPC APIs.

Temporary protocol buffer support is provided in the QuickProto library. This simple Swift library provides an API for building and parsing protocol buffers with no generated code. Conversion to Apple's swift-protobuf library is in progress.

Code is provided for both gRPC clients and servers, and it can be built either with Xcode or the Swift Package Manager. The Xcode build is demonstrated with Echo, a sample Mac app that can be used to run echo clients and servers with streaming and nonstreaming interfaces over secure (TLS) and insecure channels.

Other examples include Sessions, StickyNotes, and Speech.

Swift Package Manager builds are demonstrated on Linux using the instructions in the Packages directory. (Linux builds are currently untested and were presumed broken by the addition of Grand Central Dispatch APIs for streaming API support; they will be fixed when threading-related incompatibilities between Linux and Darwin are resolved).

Can't find something?

To make it easier for the Swift Package manager to find, the code for gRPC, CgRPC, and QuickProto is in the Sources directory associated with each package.

License

grpc-swift is released under the same license as gRPC, repeated in LICENSE.

Contributing

Please get involved! See our guidelines for contributing.