Hi,
I'm trying to implement a system like described
here where I have a Type List of Messages.
Now, when I receive a message from an endpoint, I need a way to retrieve the message opCode (which is a filed contained in all messages) to build my message template class.
My .proto is like this:
enum EMessages
{
E_MSG_METHOD_CONNECT = 0x8001;
E_MSG_EVENT_CONNECT = 0xA001;
....
}
message MsgHeader
{
required google.protobuf.FileDescriptorSet proto_files = 1;
required long sessionRef = 3;
optional long transactionId = 4 [default = 0];
optional long status = 5 [default = 0];
}
message MSG_METHOD_CONNECT
{
optional EMessages opCode = 1 [default = E_MSG_METHOD_CONNECT];
required MsgHeader header = 2;
... other fields ...
}
message MSG_EVENT_CONNECT
{
optional EMessages opCode = 1 [default = E_MSG_EVENT_CONNECT];
required MsgHeader header = 2;
... other fields ...
}
So each message contains the opCode field.
Is there a way to retrieve the opCode value from a received stream?
Regards,
Daniele.