mirror of
https://github.com/aaiyer/rfoo.git
synced 2026-10-24 21:36:02 +03:00
ea0b016e7d3780e64995e36ac0a01e5d178e3f1f
When marshal.version used is >= 3, we would fail the `buffer[0] != INTEGER` check in the Connection class, and so this commit always uses marshal.version of 2, which is the latest version that passes the check (and also the default version used by Python 2). The latest marshal.version is 2 for Python 2, and up to Python 3.3. Starting with Python 3.4, the latest marshal.version is 4.
rfoo - Fast RPC client/server module.
Maintainer: Anand Aiyer
Original Author: Nir Aides
Website: https://github.com/aaiyer/rfoo
Version: 1.3.1
rfoo (remote foo) is a fast Python RPC package which can do 160,000 RPC
calls per second on a regular PC. It includes a fast serialization module
called rfoo.marsh which extends the Python built in marshal module by
eliminating serialization of code objects and protecting against bad input.
The result is a safe to use ultra fast serializer.
SSL wrapper support added by
Jiri Lunacek of Hosting90 Systems s.r.o.
Email: jiri.lunacek@hosting90.cz
Website: http://www.hosting90.cz
SSL patch version: 0
Example server code:
> class MyHandler(rfoo.BaseHandler):
> def echo(self, str):
> return str
>
> rfoo.InetServer(MyHandler).start()
Example client code:
> c = rfoo.InetConnection().connect()
> Proxy(c).echo('Hello World!')
rconsole - included with rfoo package is a remote Python console with
auto completion, which can be used to inspect and modify namespace of a
running script.
To activate in a script do:
> from rfoo.utils import rconsole
> rconsole.spawn_server()
To attach from a shell do:
$ rconsole
SECURITY NOTE:
The rconsole listener started with spawn_server() will accept any local
connection and may therefore be insecure to use in shared hosting
or similar environments!
Requirements
Depends on Cython - http://cython.org/
To install Cython follow the simple instructions at
http://docs.cython.org/src/quickstart/install.html
Tested on GNU/Linux:
Ubuntu 8.10 64bit, Python 2.5, Python 3.2
CentOS 64bit, Python 2.4
Installation
sudo python setup.py install
Languages
Python
88.7%
Cython
11.3%