nemec/Automaton — Issue #1: Create custom client-server protocol (alternative to Pyro and Thrift)
Author: nemec
Created: 2011-10-15 06:15:26+00:00
State: open

While Pyro and Thrift are both great, why reinvent the wheel? Unfortunately, Pyro only works with Python so we can't take advantage of Thrift's wide support of programming languages. Thrift is currently a huge pain to install on Windows, and I'd like this to be as painless an install as possible for accessibility purposes, so Thrift is unfortunately set aside for the moment.

Having a custom protocol would allow us to implement only what we *need* to transmit across the internet, which would make creating clients in other languages much easier.

## Requirements:

* Exception support - could just manually do "if exception_id == 1: raise SomeException" and manage the mapping ourselves (or some Python introspection magic)
* Return strings
* Return lists (getAvailableScripts returns a list)
* Parameters (this could be a difficult one, unless we want to limit to str and None types)