Hi:
My problem is that when I receive a packet I have to check one field( say
'int32 COMMAND' ) to decide
the type of the inner packet. For example:
message OutterPkt {
required fiexed32 Length = 1;
required int32 COMMAND = 2;
required string Content = 3;
}
message InnerPktA {
required int32 UserID;
required int16 UserGender;
}
message InnerPktB {
required string UserName = 1;
reruired string UserDescripton = 2;
}
my code to process this packet will be:
......
OuuterPkt outp;
outp.ParseFromString(inputbuf);
if (outp.COMMAND == 1) {
InnerPktA pkta;
pkta.ParseFromString(outp.Content());
......
} else if (outp.COMMAND == 2) {
InnerPktB pktb;
pktb.ParseFromString(outp.Content());
......
} else {
........
}
My question is: I think the pseudo code above is not efficient because it
parses the buffer twice and there are too many memcpy.
Is there a better way to deal with this situation?
thanks.X
--
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.