This is important information. I make the necessary changes. Thank you. 2010/4/30 Kenton Varda <[email protected]>
> On Thu, Apr 29, 2010 at 3:01 PM, Adam Kwintkiewicz < > [email protected]> wrote: > >> They have different wire type (2; 3 and 4). They are stored in different >> ways and because of that they have a little bit different code inside >> parsing/serializing methods. > > > The wire type and the field number combine to form the tag. The tag is > obviously a property of the specific field, not the message type. So this > affects the code you generate for that field, but should not affect the code > you generate for the message type. > > Here's an example of a single message type used as both a field and a > sub-message: > > message Foo { > optoinal group Bar = 1 { ... } > } > > message Baz { > optional Foo.Bar bar = 1; > } > > When serializing Foo.bar, you need to use group encoding, but when > serializing Baz.bar, you need to use sub-message encoding. > > >> >> >> 2010/4/29 Kenton Varda <[email protected]> >> >>> Why do you need to generate different code for the two? All the official >>> code generators generate exactly the same code for message classes whether >>> they be nested messages or groups. Version 1 of protocol buffers generated >>> different classes and it proved to be an enormous pain. >>> >>> On Thu, Apr 29, 2010 at 2:04 PM, Adam Kwintkiewicz < >>> [email protected]> wrote: >>> >>>> hmm this is a slight problem. I am iterating over the nested messages >>>> and then generating a message/group code. I don't have reference to the >>>> specific field >>>> >>>> 2010/4/29 Kenton Varda <[email protected]> >>>> >>>> A single message type can be used as both a message and as a group, so >>>>> there is no way to tell which it is from the Descriptor. You have to have >>>>> the FieldDescriptor in the containing message. >>>>> >>>>> >>>>> On Thu, Apr 29, 2010 at 1:36 PM, adamdms >>>>> <[email protected]>wrote: >>>>> >>>>>> how to check whether the current message (Descriptor *) is a group? >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Protocol Buffers" group. >>>>>> To post to this group, send email to [email protected]. >>>>>> To unsubscribe from this group, send email to >>>>>> [email protected]<protobuf%[email protected]> >>>>>> . >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/protobuf?hl=en. >>>>>> >>>>>> >>>>> >>>> >>> >> > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
