Class: ThriftClient
- Inherits:
-
AbstractThriftClient
- Object
- AbstractThriftClient
- ThriftClient
- 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
-
#initialize(client_class, servers, options = {}) ⇒ ThriftClient
constructor
Create a new ThriftClient instance.
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 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.
31 32 33 |
# File 'lib/thrift_client.rb', line 31 def initialize(client_class, servers, = {}) super end |