On Jul 21, 11:00 pm, Benedikt Hallinger
<b.hallin...@skyforcesystems.de> wrote:
> Hello,
> thank you very much for the ideas. Since i will have a unknowable ammount
> of Message types, extensions would be the way to go.
> Your were right with the assumption that i use Java.
>
> The "construct and send that message" stuff is not the problem, the main
> problem is, how i should parse the incoming ByteBuffer (or byte[]).
> I just cant figure out how i would be able to access the packets type.
> What im guesing now is, that since i will only send "Packet" messages (to
> stick to the threads examples) in the future, my lib will know that it only
> needs to deal with that "wrapper" type. From that i will access the payload
> using the extension methods?

Right, you would parse a Packet message.

>
> so the decoder part will work like this:
> - get byte array from wire
> - parse that data with the Packet-message types builder
> (mergeFrom(buffer)....)
> - now we have a Packet-object with the header fields set and the payload as
> extension
> - extract the payload object
> - push it to the appropriate handler
>
> But how exactly this would work with the above example? Is the "type" then
> transmitted as string?

The "type" is simply transmitted as a tag on the wire. The wire format
of extensions is just like the wire format of a regular field - the
difference is that the containing type (Packet) need not know about
the extension fields in the .proto definition. Instead, each payload
type that you might include will have a unique extension number. When
you include one of the payload messages in your program, it will
register its extensions of Packet. Then when a packet message is
parsed, if it sees a tag that is not defined in the .proto but is a
valid extension, it looks up the extension information and parses it
appropriately.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to