Closed matklad closed 7 years ago
I will look into it.
The problem seems to be in that grpc-rust ignores SETTINGS_INITIAL_WINDOW_SIZE
.
Diff in rs code (because API changed in master): https://gist.github.com/stepancheg/f36b5b6f3088d0a06415ea24fc4e450d
Uploaded version 0.1.4.
Hi! I've written a simple client/server both in Kotlin and Rust (four binaries in total), and all combinations work fine except for Rust server + Kotlin client: the client just hangs after receiving about 70k of data. There must be a bug somewhere, but I don't know if it is withing my code, rust grpc or java grpc :(
Here's the code: https://github.com/matklad/kt-rs-grpc.
There are two rpc requests:
updates
, which subscribes for a stream of updates: https://github.com/matklad/kt-rs-grpc/blob/master/proto/editor.proto#L11event
, which results in an update pushed to the stream: https://github.com/matklad/kt-rs-grpc/blob/master/proto/editor.proto#L11The clients then subscribes for updates and sends 100 events, expecting to receive 100 updates: https://github.com/matklad/kt-rs-grpc/blob/master/rs/client.rs#L14-L24
It works except for the case when the server is in Rust, and the client is in Kotlin. The client then doest not receive all the messages:
If I vary the message size, the clients get different number of updates, but there total encoded size comes about 70 kilobytes.