Long time lingerer on this mailing list, first time poster.
First off, thanks for everyone's work on the JSON-RPC protocol. I not
only like its simplicity but its extensability is really useful to me
as well.
In any case, as far as $topic, I'd like to introduce my JSON-RPC
implementation RJR:
https://github.com/movitto/rjr
It is implemented in Ruby using event machine, and serves JSON-RPC
requests over a multitude of protocols including tcp/udp, http,
websockets, amqp, and more. It acts a sort of a rosetta stone between
these protocols, allowing JSON-RPC handlers to be registered after
which requests will be dispatched to those handlers regardless of the
transport mechanism which the request came in on.
It also supports setting generic message headers, and callbacks, so
that once a websockets connection has been established for example,
both endpoints may invoke JSON-RPC requests on the other until one of
them closes the connection.
Currently I also ship ruby and javascript clients as part of the
project, making connecting to the RJR server, a cinch.
The project is early in development, but is solid, I ship a full unit
test suite (implemented in rspec), an integration / stress test, and
unit tests verifying the javascript client. Documentation can probably
be shored up a bit, but I'll get to that eventually (unless anyone
gets to it first, patches are more than welcome!)
Eventually I might consider reimplementing this project in C for
performance and so as to including bindings so that handlers can be
written in ruby, python, java, or whatever other language, but for the
time being this serves my needs.
Any comments, thoughts, etc on RJR would be more than appreciated.