lib/resilient_socket/exceptions.rb in resilient_socket-0.1.0 vs lib/resilient_socket/exceptions.rb in resilient_socket-0.2.0

- old
+ new

@@ -1,8 +1,34 @@ +require 'socket' module ResilientSocket - class Exception < ::RuntimeError; end - class ConnectionTimeout < Exception; end - class ReadTimeout < Exception; end - class ConnectionFailure < Exception; end + class ConnectionTimeout < ::SocketError; end + class ReadTimeout < ::SocketError; end + + # Raised by ResilientSocket whenever a Socket connection failure has occurred + class ConnectionFailure < ::SocketError + # Returns the hostname and port against which the connection failure occurred + attr_reader :server + + # Returns the original exception that caused the connection failure + # For example instances of Errno::ECONNRESET + attr_reader :cause + + # Parameters + # message [String] + # Text message of the reason for the failure and/or where it occurred + # + # server [String] + # Hostname and port + # For example: "localhost:2000" + # + # cause [Exception] + # Original Exception if any, otherwise nil + def initialize(message, server, cause=nil) + @server = server + @cause = cause + super(message) + end + + end end