EM::Rserve is an attempt to bring RServe over EventMachine. Consider it a somewhat stable version.
EM::Rserve is pure-ruby and should work wherever EventMachine is supported.
So far it can:
-
connect to a server
-
detach and reattach a session
-
parse most low-level messages
-
parse most R’ S-expressions to a ruby tree
-
translate several common R’ S-expressions to “base” ruby objects such as arrays, strings, hashes …
-
translate several Ruby objects (arrays of integers, strings etc.) to R’ S-expression
-
evaluate strings of R code
-
handle pools of connections with ruby fibers
Limitations:
-
no support for the connections with a password. somehow, password without encryption defeats the purpose. hence, if you need a password, you should setup an SSH proxy instead
Links:
Contributions welcome.