class ThriftClient
Public Class Methods
Create a new ThriftClient instance. Accepts an internal Thrift client class (such as CassandraRb::Client), a list of servers with ports, and optional parameters.
Valid optional parameters are:
:protocol
-
Which Thrift protocol to use. Defaults to
Thrift::BinaryProtocol
. :protocol_extra_params
-
An array of additional parameters to pass to the protocol initialization call. Defaults to
[]
. :transport
-
Which Thrift transport to use. Defaults to
Thrift::Socket
. :transport_wrapper
-
Which Thrift transport wrapper to use. Defaults to
Thrift::FramedTransport
. :exception_classes
-
Which exceptions to catch and retry when sending a request. Defaults to
[IOError, Thrift::Exception, Thrift::ApplicationException, Thrift::TransportException, NoServersAvailable]
:exception_class_overrides
-
For specifying children of classes in exception_classes for which you don't want to retry or reconnect.
:raise
-
Whether to reraise errors if no responsive servers are found. Defaults to
true
. :retries
-
How many times to retry a request. Defaults to 0.
:server_retry_period
-
How many seconds to wait before trying to reconnect to a dead server. Defaults to
1
. Set tonil
to disable. :server_max_requests
-
How many requests to perform before moving on to the next server in the pool, regardless of error status. Defaults to
nil
(no limit). :timeout
-
Specify the default timeout in seconds. Defaults to
1
. :connect_timeout
-
Specify the connection timeout in seconds. Defaults to
0.1
. :timeout_overrides
-
Specify additional timeouts on a per-method basis, in seconds. Only works with
Thrift::BufferedTransport
. :cached_connections
-
Cache connections between requests. Trades connect() costs for open sockets. Defaults to
false
. :defaults
-
Specify default values to return on a per-method basis, if
:raise
is set to false.
# File lib/thrift_client.rb, line 31 def initialize(client_class, servers, options = {}) super end