Description
Is your feature request related to a problem? Please describe it.
My use case for gPRC is on client - server connection. As such, there are cases client is on unstable connection and customers would benefit from getting better understanding of how long they need to wait for a certain call to complete. As such, we would like to provide feedback on the progress bar for how many bytes sent / how many bytes downloaded on per-frame level. This currently is not possible.
Describe the solution you'd like
There are several ways to implement this. It seems require a bit more thinking. On macOS / iOS platform in particular, it seem implementing custom NWFramerImplementation and insert it into NWParameters would be the most straightforward, but that requires change to SwiftNIOTransportService, a library upstream to grpc-swift.
I also explored some other ways, but it all pointing to changes required in SwiftNIO upstream library.
Describe alternatives you've considered
Alternatively, we can use interceptor, but that is inaccurate and won't reflect how much bytes sent / how much bytes downloaded while a call is still in progress.
Another alternative is to initialize bidirectional streaming call, and support chunking there. But that requires some complications on our gRPC schema itself.