Sha256: 1c2234aa535e5daed34c8657d7e08c7fc1a31bb05b8788d28be459e5a880cc71

Contents?: true

Size: 1.35 KB

Versions: 1

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

module AMQP
  class Client
    # All errors raised inherit from this class
    class Error < StandardError
      # Raised when a frame that wasn't expected arrives
      class UnexpectedFrame < Error
        def initialize(expected, actual)
          super "Expected frame type '#{expected}' but got '#{actual}'"
        end
      end

      # Raised when a frame doesn't end with 206
      class UnexpectedFrameEnd < Error
        def initialize(actual)
          super "Expected frame end 206 but got '#{actual}'"
        end
      end

      # Should never be raised as we support all official frame types
      class UnsupportedFrameType < Error
        def initialize(type)
          super "Unsupported frame type '#{type}'"
        end
      end

      # Raised if a frame is received but not implemented
      class UnsupportedMethodFrame < Error
        def initialize(class_id, method_id)
          super "Unsupported class/method: #{class_id} #{method_id}"
        end
      end

      # Raised if channel is already closed
      class ChannelClosed < Error
        def initialize(id, code, reason, classid = 0, methodid = 0)
          super "Channel[#{id}] closed (#{code}) #{reason} (#{classid}/#{methodid})"
        end
      end

      # Raised if connection is unexpectedly closed
      class ConnectionClosed < Error; end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
amqp-client-1.0.1 lib/amqp/client/errors.rb