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
name age message
file CHANGELOG Thu Dec 10 04:28:49 -0800 2009 Fix connection close bug (nkallen, mattknox). [Evan Weaver]
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/ Thu Dec 10 04:35:13 -0800 2009 disconnect!(false) [Evan Weaver]
directory test/ Mon Nov 30 17:16:05 -0800 2009 Don't eject failed hosts forever. Very subtle bug. [Evan Weaver]
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].