Sha256: ff21df930c25a6194033aec4c47e2a4e2d91fe836234927ddc9895f95d437c3b
Contents?: true
Size: 1.99 KB
Versions: 8
Compression:
Stored size: 1.99 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 # Depending on close level a ConnectionClosed or ChannelClosed error is returned class Closed < Error def self.new(id, level, code, reason, classid = 0, methodid = 0) case level when :connection ConnectionClosed.new(code, reason, classid, methodid) when :channel ChannelClosed.new(id, code, reason, classid, methodid) else raise ArgumentError, "invalid level '#{level}'" end 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 def initialize(code, reason, classid = 0, methodid = 0) super "Connection closed (#{code}) #{reason} (#{classid}/#{methodid})" end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems