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.
