Class: ThriftClient

Inherits:
AbstractThriftClient show all
Defined in:
lib/thrift_client.rb,
lib/thrift_client/simple.rb

Defined Under Namespace

Modules: Simple Classes: NoServersAvailable

Constant Summary

Constants inherited from AbstractThriftClient

AbstractThriftClient::DEFAULTS, AbstractThriftClient::DEFAULT_WRAPPED_ERRORS, AbstractThriftClient::DISCONNECT_ERRORS

Instance Attribute Summary

Attributes inherited from AbstractThriftClient

#client, #client_class, #client_methods, #current_server, #last_client, #options, #server_list

Instance Method Summary collapse

Methods inherited from AbstractThriftClient

#add_callback, #connect!, create_wrapped_exception_classes, #disconnect!, #inspect

Constructor Details

#initialize(client_class, servers, options = {}) ⇒ ThriftClient

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 to nil 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.



31
32
33
# File 'lib/thrift_client.rb', line 31

def initialize(client_class, servers, options = {})
  super
end