public
Description: A Thrift client wrapper that encapsulates some common failover behavior.
Homepage: http://blog.evanweaver.com/files/doc/fauna/thrift_client/
Clone URL: git://github.com/fauna/thrift_client.git
robey (author)
Tue Nov 03 15:45:58 -0800 2009
commit  90801300b558505a1fd43bd334e899212b9ac794
tree    b3a8080a0ef212d977c8d0e0baee6b367ab7467f
parent  313eb0e46d90c73e2d37d077860f4dd36797821d
name age message
file CHANGELOG Loading commit data...
file LICENSE Tue Oct 13 21:03:15 -0700 2009 Add things. [Evan Weaver]
file Manifest Wed Oct 14 17:36:01 -0700 2009 Manifest. [Evan Weaver]
file README Mon Oct 26 11:38:11 -0700 2009 Readme. [Evan Weaver]
file Rakefile Sat Oct 24 18:07:09 -0700 2009 specs! [robey]
directory lib/
directory test/
README
thrift_client

A Thrift client wrapper that encapsulates some common failover behavior.

== License

Copyright 2009 Twitter, Inc. See included LICENSE file.

The public certificate for this gem is 
here[http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem].

== Features

* Transparent connection management
* Configurable failover and retry backoff
* Ruby 1.9 compatibility
* ThriftClient::Simple class, for working without generated bindings.

The Github source repository is {here}[http://github.com/fauna/thrift_client/]. Patches and contributions are very 
welcome.

== Usage

Instantiate a client:

  client = ThriftClient.new(CassandraRb::Client, '127.0.0.1:9160', :retries => 2)

You can then make calls to the server via the <tt>client</tt> instance as if was your internal Thrift client. The 
connection will be opened lazily and methods will be proxied through.

  client.get_string_list_property("keyspaces")
  
On failures, the client will try the remaining servers in the list before giving up. See ThriftClient for more.

== Installation

You need Ruby 1.8 or 1.9. If you have those, just run:

  sudo gem install thrift_client

== Reporting problems

The Github issue tracker is {here}[http://github.com/fauna/thrift_client/issues].