Sha256: 4dde5176d89954c5fffaecf3ad179433268fbcfcc3b70f713b5f42e14d560e14

Contents?: true

Size: 754 Bytes

Versions: 2

Compression:

Stored size: 754 Bytes

Contents

module FreshConnection
  class AbstractConnectionManager
    EXCEPTION_MESSAGE_WHEN_SLAVE_SERVER_DOWN = [
      "MySQL server has gone away",
      "closed MySQL connection",
      "Can't connect to local MySQL server"
    ].map{|msg| Regexp.escape(msg)}.join("|")

    def initialize
      @mutex = Mutex.new
    end

    def slave_connection
    end

    def put_aside!
    end

    def recovery(failure_connection, exception)
      false
    end

    def recoverable?
      false
    end

    private

    def synchronize
      @mutex.synchronize{ yield }
    end

    def current_thread_id
      Thread.current.object_id
    end

    def slave_down_message?(message)
      /#{EXCEPTION_MESSAGE_WHEN_SLAVE_SERVER_DOWN}/o =~ message
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fresh_connection-0.1.8 lib/fresh_connection/abstract_connection_manager.rb
fresh_connection-0.1.7 lib/fresh_connection/abstract_connection_manager.rb