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