You don't need to loop through all the message types. Protobuf generates a 
'case' method which would tell you the case/type of the message. You should 
use a switch statement in your code using that generated method.

On Monday, February 13, 2017 at 2:30:11 PM UTC-8, [email protected] wrote:
>
> Hi Ken,
>
> It seems it was not a very scalable solution. If we have a huge number of 
> different message definition that needs to be fit into the same stream 
> response message, it would be a big waste to just loop through the messages 
> and try to get the right pb message type to decode it. Or do we have any 
> good solution for this already? 
>
>
> Thanks,
> Justin
>
> On Tuesday, February 7, 2017 at 2:29:33 AM UTC-8, Ken Payson wrote:
>>
>> If you are using protobufs, the easiest way to approach this would be to 
>> use the oneof 
>> <https://developers.google.com/protocol-buffers/docs/proto#oneof>
>>  feature.
>>
>> Oneof allows you to specify a request type that is "one of" 
>> connectReq/cliMsg/serverMsgRes.
>>
>> Likewise, your response type can be specified as "one of" 
>> connectRes/cliMsgRes/serverMsgReq.
>>
>>
>> On Tue, Feb 7, 2017 at 1:21 AM, <[email protected]> wrote:
>>
>>> hi,
>>>
>>> Newbie to grpc and not sure if following is possible.
>>> Need to implement client->server processes which can work with 
>>> bidirectional streaming support. Additionally want to check it is possible 
>>> to stream different messages/responses from client/server after connection 
>>> is established.
>>>
>>> So far all the examples i searched show ability of sending one message 
>>> request/response behavior. 
>>>
>>> Client----->Server
>>> connectReq()--->
>>>                      <-----connectRes.
>>>
>>> after connection is established, any different request/response below 
>>> may happen.
>>>
>>> cliMsg1------->
>>>       <-----------cliMsgRes1
>>>
>>>
>>>              <--------serverMsgReq1
>>> serverMsgRes1---->   
>>>
>>> Thx,
>>> Vijay
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "grpc.io" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/grpc-io.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/grpc-io/60f82252-313d-4db3-bbf2-abc4a758a7f6%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/grpc-io/60f82252-313d-4db3-bbf2-abc4a758a7f6%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/5b7ac192-e46e-4c59-8a40-d7c0100c6a8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to