I am working with scalar values and fixed-length arrays. I need to
deserialize the entire message into a contiguous raw buffer in memory
such that all members of the data structure can be accessed by using
offsets against a pointer to the raw buffer. This is due to the need
for certain devices to have having "DMA access" to the deserialized
message contents in system memory. If I use Protocol Buffers can I
make sure that the entire deserialized message (including arrays of
known size) is in a contiguous buffer in memory?

I am currently using XDR (eXternal Data Representation, i.e. Sun RPC)
as my wire format, which has very good support for fixed-length
arrays ... I always know exactly where my data is in memory, but this
comes at the expense of having to statistically specify the exact size
of each message.I would like to migrate to Protocol Buffers as a wire
format but I working in a somewhat lower level C environment where I
need to know the system memory address of the deserialized data so
that I can issue DMA commands to access it from some device.

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 
For more options, visit this group at 

Reply via email to