tRPC

tRPC is a protocol used for Remote Procedure Call. It's focused on the easiness of implementation and low overhead. However it shouldn't be a binary protocol.

One could imagine tRPC as XML-RPC without XML, therefore I'll use some of XML-RPC's examples.

Example

Here's an example of a tRPC request:

  {'examples.getStateName', 41}

Compare this to the equivalent XML-RPC:

  POST /RPC2 HTTP/1.0
  User-Agent: Frontier/5.1.2 (WinNT)
  Host: betty.userland.com
  Content-Type: text/xml
  Content-length: 181
  
  
  <?xml version="1.0"?>
  <methodCall>
    <methodName>examples.getStateName</methodName>
    <params>
      <param>
        <value><i4>41</i4></value>
      </param>
    </params>
  </methodCall>

One doesn't even want to mention how the SOAP version would look like. :)

Full specification

I also started writing Ruby code for tRPC, but its not yet ready to release.

As of 02mar2004, development is currently frozen. tRPC will be abstracted and defined in the more general tEXPR (Tuple Expressions), which need to be designed fully.