[ https://issues.apache.org/jira/browse/AVRO-2187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16553246#comment-16553246 ]
Doug Cutting commented on AVRO-2187: ------------------------------------ The IDL compiler generates an Avro protocol as json, so one can generate code for other languages from that. Avro's protocol-to-java compiler uses templates which can theoretically be replaced with templates for a non-Java language. I imagined that the @stream IDL annotation would become a boolean-valued json property on the message. We could also parse this annotation on parameters and add a similar property to protocol requests. > Add RPC Streaming constructs/keywords to Avro IDL or schema > ----------------------------------------------------------- > > Key: AVRO-2187 > URL: https://issues.apache.org/jira/browse/AVRO-2187 > Project: Avro > Issue Type: New Feature > Reporter: Srujan Narkedamalli > Priority: Major > > Motivation: > 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. > Details: > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005)