grpc-swift
grpc-swift copied to clipboard
The Swift language implementation of gRPC.
**Motivation:** Connection timeout is ignored on last retry or when retries are set to none (issue #1649) **Modifications:** Use the `minimumConnectionTimeout` value from the `ConnectionBackoff` directly instead of the `ConnectionBackoffIterator`...
### Describe the bug Connection timeout is ignored on last retry or when retries are set to none. `ConnectionManager.startConnecting` uses a `ConnectionBackoffIterator` to determine the `connectTimeout` here: [Sources/GRPC/ConnectionManager.swift#L988](https://github.com/grpc/grpc-swift/blob/84bac657e9930d26e9124bac082f26586dc2d209/Sources/GRPC/ConnectionManager.swift#L988) Unfortunately when...
Can we add support for https://github.com/apple/swift-protobuf/blob/main/Documentation/PLUGIN.md#generation-option-protopathmodulemappings---swift-module-names-for-proto-paths in GRPCSwiftPlugin? This option allows us to distribute proto files in multiple swift modules. For example: Core - Empty.proto - Media.proto Auth - Session.proto...
### Is your feature request related to a problem? Please describe it. Library don't generate empty files when there are no service definitions in the proto file. All the details...
### What are you trying to achieve? I can manually convert .proto files to .grpc.swift and .pb.swift files with gRPC-Swift-Plugins. I would like to automate the whole process. ### What...
### What are you trying to achieve? I'm connecting to multiple rpc methods, some are streams and some are not. Sometimes when I connect to these streams I've got errors...
Currently, if you use a `Server/ClientInterceptor` you need to _manually_ buffer if any of your processing is asynchronous. This is very error prone, hard to test and actually also causes...
Neither the doc comments [`ClientInterceptor` docs](https://github.com/grpc/grpc-swift/blob/2453b9067662ed5ad884984b62f3d0726d8b3684/Sources/GRPC/Interceptor/ClientInterceptors.swift#L18-L51) nor the [Interceptors Tutorial](https://github.com/grpc/grpc-swift/blob/2453b9067662ed5ad884984b62f3d0726d8b3684/docs/interceptors-tutorial.md) actually mention that you must forward the `part`s in exactly the same order as you received them which makes async...
Currently, auth is handled with `Client/ServerInterceptor`s and that of course works. But this has a number of pitfalls: - It requires you to call `send`/`receive` on the correct `EventLoop` (that...
### What are you trying to achieve? We are looking to implement a retry policy on `GPRCStatus` codes for`.resourceExhausted` status'. Looking at the Android implementation, they have a settable `retryableStatusCodes`...