[Rprotobuf-yada] rpc first steps

Romain Francois romain.francois at dbmail.com
Tue Nov 17 14:26:32 CET 2009

On 11/17/2009 12:34 PM, Romain François wrote:
> On 11/17/2009 12:19 PM, Dirk Eddelbuettel wrote:
>> On 17 November 2009 at 09:31, Romain François wrote:
>> | One of the things we have not played with yet is the rcp mechanism that
>> | comes with protobuf. see
>> | http://code.google.com/apis/protocolbuffers/docs/proto.html#services
>> I amd very confused about this but it sometimes states that ProtoBuf has no
>> RPC besides some stubs whereas, say, Thrift has a full RPC stack.
>> I saw Google's class stubs but what exactly do you think we can make happen
>> without having to use Rserve and/or Connections?
>> Dirk
> I am confused about it too. Google is the first to admit that this part
> of protobuf is not the best designed. Apparently their rpc stack is too
> complex so they cannot open source it easily, which is why they came up
> with these stubs.
> The only thing the official protobuf provides are the stubs generated by
> the compiler (can't use this because we work at runtime using reflection).
> There are some third party RPC implementations available. I'll check
> what they have to offer.
> It seems that basically you are left on your own when it comes to the
> concrete rpc implementation.
> What I have in mind is a simple tcp/ip sockets based mechanism that
> connects two R peers (I'd like it to be symmetric rather than
> client/server), which is why I am looking at xGD. This is Simon's
> external graphics device using sockets to basically forward graphics
> device low level calls to some other process. This is quite promising.
> The other thing I want to have a look at is the new dynamic help system
> that came with R 2.10.0. R now embeds a simple web server that displays
> html help pages that are dynamically created at runtime. I am wondering
> if this can be used to serve binary content as well as html pages. BTW,
> the web server is also Simon's (at least he first commited it to the R's
> repository). It might be worth sending him an email about this.

There is also svSocket which actually uses tcl/tk sockets. not sure it 
handles binary connections though, which might not be a problem because 
I think we can serialize the full protobuf message as a string.

Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
|- http://tr.im/EAD5 : LondonR slides
|- http://tr.im/BcPw : celebrating R commit #50000
`- http://tr.im/ztCu : RGG #158:161: examples of package IDPmisc

More information about the Rprotobuf-yada mailing list