You should send the method's name along with the request.  The receiver can
then look up the MethodDescriptor from the service's ServiceDescriptor,
using FindMethodByName().
You might even encode your messages like this:

message RpcRequest {
  required string method_name = 1;

  // The serialized request message.
  required bytes request_data = 2;
}

On Tue, Sep 16, 2008 at 8:54 AM, <[EMAIL PROTECTED]> wrote:

>
> Hi!
>
> I have some problems setting up a simple IPC system using protocol
> buffers for sending the parameters and results between two processes.
> I have written a protocol buffers service with a function and a simple
> IPC system that can transfer raw byte messages between two processes.
> My problem is understanding how my RpcChannel::CallMethod should be
> implemented. I was expecting it was as easy to encode the message to
> raw bytes and pick it up in the other process and decode it. However,
> it turned out that the MethodDescriptor is not encoded in the Message
> and it's needed in the other end to route the message to the right
> function. I found no functionality to serialize the MethodDescriptor
> to a byte stream.
>
> Of course I can come up with encodings for the method descriptor,
> either sending the name or the index should work. Then I can just put
> it first in the buffer that's transferred to the other process, but
> that means I lose the nice feature of letting protocol buffers
> handling unicode string encoding, endianness of integers etc. One
> approach would be to create a meta message containing both the method
> descriptor and the encoded message as a variable size byte array in
> one message.
> I somehow think I'm missing the point here, how is
> RpcChannel::CallMethod supposed to work?
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to