class ThriftHelpers::Server
Public Class Methods
new(connection_string, client_class, options = {})
click to toggle source
# File lib/thrift_client/server.rb, line 7 def initialize(connection_string, client_class, options = {}) @connection_string = connection_string @client_class = client_class @options = options @cached = @options.has_key?(:cached_connections) ? @options[:cached_connections] : true @marked_down_til = nil end
Public Instance Methods
client()
click to toggle source
# File lib/thrift_client/server.rb, line 48 def client @client ||= begin connect! if @options[:multiplexed_protocol].nil? @client_class.new( @options[:protocol].new(self, *@options[:protocol_extra_params])) else @client_class.new( Thrift::MultiplexedProtocol.new( @options[:protocol].new(self, *@options[:protocol_extra_params]), @options[:multiplexed_protocol] ) ) end end end
close(teardown = false)
click to toggle source
# File lib/thrift_client/server.rb, line 70 def close(teardown = false) if teardown || !@cached connection.close if open? @client = nil end end
connect!()
click to toggle source
# File lib/thrift_client/server.rb, line 40 def connect! return if open? self.timeout = @options[:connect_timeout] connection.connect! self.timeout = @options[:timeout] end
connection()
click to toggle source
# File lib/thrift_client/server.rb, line 34 def connection @connection ||= Connection::Factory.create( @options[:transport], @options[:transport_wrapper], @connection_string, @options[:connect_timeout]) end
down?()
click to toggle source
# File lib/thrift_client/server.rb, line 26 def down? @marked_down_til && @marked_down_til > Time.now end
mark_down!(til)
click to toggle source
# File lib/thrift_client/server.rb, line 17 def mark_down!(til) close(true) @marked_down_til = Time.now + til end
open?()
click to toggle source
# File lib/thrift_client/server.rb, line 66 def open? connection.open? end
to_s()
click to toggle source
# File lib/thrift_client/server.rb, line 30 def to_s @connection_string end
transport()
click to toggle source
# File lib/thrift_client/server.rb, line 77 def transport connection.transport end
up?()
click to toggle source
# File lib/thrift_client/server.rb, line 22 def up? !down? end