Sha256: ac2e15ce3e7c46dd7dd4adebbd53662174552442c129b017d4776b08b85cd8fb

Contents?: true

Size: 450 Bytes

Versions: 6

Compression:

Stored size: 450 Bytes

Contents

module CassandraThrift #:nodoc: all
  module Cassandra
    class SafeClient  
      def initialize(client, transport)
        @client = client 
        @transport = transport
      end
      
      def method_missing(*args)
        @client.send(*args)
      rescue IOError, UnavailableException
        @transport.close rescue nil
        @transport.open
        raise if defined?(once)
        once = true
        retry
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cassandra-0.5.5 lib/cassandra/safe_client.rb
cassandra-0.5.3 lib/cassandra/safe_client.rb
cassandra-0.5.4 lib/cassandra/safe_client.rb
cassandra-0.5 lib/cassandra/safe_client.rb
cassandra-0.5.1 lib/cassandra/safe_client.rb
cassandra-0.5.2 lib/cassandra/safe_client.rb