Type: New Feature
Affects Version/s: None
Fix Version/s: None
We recently added support for transporting Avro serialization and IDL over gRPC for Java. In order to use the streaming features of gRPC or any other transport that supports streaming we need to be able to specify them IDL and schema.
Currently, gRPC supports 3 types of streaming calls:
- server streaming (server can send multiple responses for a single request)
- client streaming (client can multiple requests and server sends a single response)
- bi-directional streaming call (on going rpc with multiple requests and responses)
We would want a way to represent these types on calls in Avro's IDL similar to one-way calls using a keywords. Usually in gRPC with other IDLs a streaming request or response is repeated payload of same type. For client streaming and bi-directional streaming it would be simpler to have a single request argument when representing their type in callbacks.