mojombo / bertrpc
- Source
- Commits
- Network (4)
- Issues (0)
- Downloads (16)
- Wiki (1)
- Graphs
-
Tree:
3b76813
commit 3b76813270744fe63dcaeab7522649af56d1a751
tree b1ec2f21e629d0508d5d46b06790e758efeceaef
parent 7cc9252fd9f2aa2e472a3a2555b22395cf102b39
tree b1ec2f21e629d0508d5d46b06790e758efeceaef
parent 7cc9252fd9f2aa2e472a3a2555b22395cf102b39
bertrpc /
| name | age | message | |
|---|---|---|---|
| |
.document | Mon May 18 19:33:40 -0700 2009 | |
| |
.gitignore | Mon May 18 19:24:30 -0700 2009 | |
| |
History.txt | ||
| |
LICENSE | Mon May 18 19:24:30 -0700 2009 | |
| |
README.md | Tue Oct 27 15:13:13 -0700 2009 | |
| |
Rakefile | ||
| |
VERSION | ||
| |
bertrpc.gemspec | ||
| |
lib/ | ||
| |
test/ |
README.md
BERTRPC
By Tom Preston-Werner (tom@mojombo.com)
BERT-RPC client library for Ruby. Makes it ridiculously simple to interface with BERT-RPC servers.
See the full BERT-RPC specification at bert-rpc.org.
This library currently only supports the following BERT-RPC features:
callrequestscastrequests
BERTRPC was developed for GitHub and is currently in production use performing millions of RPC requests every day. The stability and performance have been exemplary.
Installation
$ gem install bertrpc -s http://gemcutter.org
Examples
Require the library and create a service:
require 'bertrpc'
svc = BERTRPC::Service.new('localhost', 9999)
Make a call:
svc.call.calc.add(1, 2)
# => 3
The underlying BERT-RPC transaction of the above call is:
-> {call, calc, add, [1, 2]}
<- {reply, 3}
Make a cast:
svc.cast.stats.incr
# => nil
The underlying BERT-RPC transaction of the above cast is:
-> {cast, stats, incr, []}
<- {noreply}
Documentation
Creating a service:
# No timeout
svc = BERTRPC::Service.new('localhost', 9999)
# 10s socket read timeout, raises BERTRPC::ReadTimeoutError
svc = BERTRPC::Service.new('localhost', 9999, 10)
Copyright
Copyright (c) 2009 Tom Preston-Werner. See LICENSE for details.

