Hi Bryan, Thank you for the reply. In that case, I have couple of more questions.
1) Would the buffers of 2 Employee objects have same size? 2) If the answer to above question is 'yes', then I need to somehow pass the buffer size to the other application which would deserialize these list of objects. Would writing this value to another file be a good option? Thank you. Regards, Raghava. On Fri, Jul 23, 2010 at 4:38 PM, Bryan Duxbury <[email protected]> wrote: > Serialized thrift objects aren't fixed size, nor do their in-memory > representations reflect their serialized representation. Unless there's > more > magic to sizeof() than I was expecting, you need to look at the size of the > buffer after you write out, not the size of the struct. > > On Fri, Jul 23, 2010 at 1:27 PM, Raghava Mutharaju < > [email protected]> wrote: > > > Hi all, > > > > I have serialized couple of Employee objects (binary protocol) and saved > > the > > byte array into a file. I am using C++ to deserialize. I would reach > bytes > > of one Employee from the file each time and give it to read() method. If > I > > use sizeof(Employee), it does not give the right size. > > > > Some statistics from a sample run: > > > > Total Employee objects serialized = 10 > > Total bytes in the file = 690. So each Employee object size should be 69 > > bytes. > > sizeof(Employee) gives 96. > > > > This seems to be a frequently used operation. How can this be done? > > I would read each object, fill the TMemoryBuffer and use it to construct > > TBinaryProtocol. > > > > Thank you. > > > > Regards, > > Raghava. > > >
