lib/amq/protocol/client.rb in amq-protocol-0.9.0 vs lib/amq/protocol/client.rb in amq-protocol-0.9.1
- old
+ new
@@ -15,22 +15,24 @@
DEFAULT_PORT = 5672
# caching
EMPTY_STRING = "".freeze
- PACK_CHAR = "C".freeze
- PACK_UINT16 = "n".freeze
- PACK_UINT16_X2 = "n2".freeze
- PACK_UINT32 = "N".freeze
- PACK_UINT32_X2 = "N2".freeze
- PACK_INT64 = "q".freeze
- PACK_UCHAR_UINT32 = "CN".freeze
- PACK_CHAR_UINT16_UINT32 = "cnN".freeze
+ PACK_CHAR = 'C'.freeze
+ PACK_UINT16 = 'n'.freeze
+ PACK_UINT16_X2 = 'n2'.freeze
+ PACK_UINT32 = 'N'.freeze
+ PACK_UINT32_X2 = 'N2'.freeze
+ PACK_INT64 = 'q'.freeze
+ PACK_UCHAR_UINT32 = 'CN'.freeze
+ PACK_CHAR_UINT16_UINT32 = 'cnN'.freeze
- PACK_32BIT_FLOAT = "f".freeze
- PACK_64BIT_FLOAT = "d".freeze
+ PACK_32BIT_FLOAT = 'f'.freeze
+ PACK_64BIT_FLOAT = 'd'.freeze
+
+
# @return [Array] Collection of subclasses of AMQ::Protocol::Class.
def self.classes
Protocol::Class.classes
end
@@ -166,23 +168,24 @@
class InternalError < HardError
VALUE = 541
end
- # We don"t instantiate the following classes,
- # as we don"t actually need any per-instance state.
+
+ # We don't instantiate the following classes,
+ # as we don't actually need any per-instance state.
# Also, this is pretty low-level functionality,
# hence it should have a reasonable performance.
# As everyone knows, garbage collector in MRI performs
# really badly, which is another good reason for
# not creating any objects, but only use class as
# a struct. Creating classes is quite expensive though,
# but here the inheritance comes handy and mainly
- # as we can"t simply make a reference to a function,
- # we can"t use a hash or an object. I"ve been also
+ # as we can't simply make a reference to a function,
+ # we can't use a hash or an object. I've been also
# considering to have just a bunch of methods, but
- # here"s the problem, that after we"d require this file,
+ # here's the problem, that after we'd require this file,
# all these methods would become global which would
# be a bad, bad thing to do.
class Class
@classes = Array.new
@@ -246,15 +249,14 @@
def self.encode_body(body, channel, frame_size)
return [] if body.empty?
# See https://dev.rabbitmq.com/wiki/Amqp091Errata#section_11
limit = frame_size - 8
- limit_plus_1 = limit + 1
array = Array.new
while body
- payload, body = body[0, limit_plus_1], body[limit_plus_1, body.length - limit]
+ payload, body = body[0, limit], body[limit, body.length - limit]
# array << [0x03, payload]
array << BodyFrame.new(payload, channel)
end
array
@@ -276,10 +278,12 @@
class Connection < Protocol::Class
@name = "connection"
@method_id = 10
+
+
class Start < Protocol::Method
@name = "connection.start"
@method_id = 10
@index = 0x000A000A # 10, 10, 655370
@packed_indexes = [10, 10].pack(PACK_UINT16_X2).freeze
@@ -315,37 +319,41 @@
end
def self.has_content?
false
end
+
+
end
class StartOk < Protocol::Method
@name = "connection.start-ok"
@method_id = 11
@index = 0x000A000B # 10, 11, 655371
@packed_indexes = [10, 11].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["client_properties = nil", "mechanism = "PLAIN"", "response = nil", "locale = "en_US""]
+ # [u'client_properties = nil', u"mechanism = u'PLAIN'", u'response = nil', u"locale = u'en_US'"]
def self.encode(client_properties, mechanism, response, locale)
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << AMQ::Protocol::Table.encode(client_properties)
buffer << mechanism.bytesize.chr
buffer << mechanism
buffer << [response.bytesize].pack(PACK_UINT32)
buffer << response
buffer << locale.bytesize.chr
buffer << locale
MethodFrame.new(buffer, channel)
end
+
end
class Secure < Protocol::Method
@name = "connection.secure"
@method_id = 20
@@ -368,32 +376,36 @@
end
def self.has_content?
false
end
+
+
end
class SecureOk < Protocol::Method
@name = "connection.secure-ok"
@method_id = 21
@index = 0x000A0015 # 10, 21, 655381
@packed_indexes = [10, 21].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["response = nil"]
+ # [u'response = nil']
def self.encode(response)
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [response.bytesize].pack(PACK_UINT32)
buffer << response
MethodFrame.new(buffer, channel)
end
+
end
class Tune < Protocol::Method
@name = "connection.tune"
@method_id = 30
@@ -420,62 +432,68 @@
end
def self.has_content?
false
end
+
+
end
class TuneOk < Protocol::Method
@name = "connection.tune-ok"
@method_id = 31
@index = 0x000A001F # 10, 31, 655391
@packed_indexes = [10, 31].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["channel_max = false", "frame_max = false", "heartbeat = false"]
+ # [u'channel_max = false', u'frame_max = false', u'heartbeat = false']
def self.encode(channel_max, frame_max, heartbeat)
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [channel_max].pack(PACK_UINT16)
buffer << [frame_max].pack(PACK_UINT32)
buffer << [heartbeat].pack(PACK_UINT16)
MethodFrame.new(buffer, channel)
end
+
end
class Open < Protocol::Method
@name = "connection.open"
@method_id = 40
@index = 0x000A0028 # 10, 40, 655400
@packed_indexes = [10, 40].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["virtual_host = "/"", "capabilities = EMPTY_STRING", "insist = false"]
+ # [u"virtual_host = u'/'", u'capabilities = EMPTY_STRING', u'insist = false']
def self.encode(virtual_host)
capabilities = EMPTY_STRING
insist = false
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << virtual_host.bytesize.chr
buffer << virtual_host
buffer << capabilities.bytesize.chr
buffer << capabilities
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if insist
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class OpenOk < Protocol::Method
@name = "connection.open-ok"
@method_id = 41
@@ -498,10 +516,12 @@
end
def self.has_content?
false
end
+
+
end
class Close < Protocol::Method
@name = "connection.close"
@method_id = 50
@@ -535,22 +555,23 @@
def self.has_content?
false
end
# @return
- # ["reply_code = nil", "reply_text = EMPTY_STRING", "class_id = nil", "method_id = nil"]
+ # [u'reply_code = nil', u'reply_text = EMPTY_STRING', u'class_id = nil', u'method_id = nil']
def self.encode(reply_code, reply_text, class_id, method_id)
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [reply_code].pack(PACK_UINT16)
buffer << reply_text.bytesize.chr
buffer << reply_text
buffer << [class_id].pack(PACK_UINT16)
buffer << [method_id].pack(PACK_UINT16)
MethodFrame.new(buffer, channel)
end
+
end
class CloseOk < Protocol::Method
@name = "connection.close-ok"
@method_id = 51
@@ -572,40 +593,46 @@
# @return
# []
def self.encode()
channel = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
+
end
class Channel < Protocol::Class
@name = "channel"
@method_id = 20
+
+
class Open < Protocol::Method
@name = "channel.open"
@method_id = 10
@index = 0x0014000A # 20, 10, 1310730
@packed_indexes = [20, 10].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["out_of_band = EMPTY_STRING"]
+ # [u'out_of_band = EMPTY_STRING']
def self.encode(channel, out_of_band)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << out_of_band.bytesize.chr
buffer << out_of_band
MethodFrame.new(buffer, channel)
end
+
end
class OpenOk < Protocol::Method
@name = "channel.open-ok"
@method_id = 11
@@ -628,10 +655,12 @@
end
def self.has_content?
false
end
+
+
end
class Flow < Protocol::Method
@name = "channel.flow"
@method_id = 20
@@ -655,19 +684,20 @@
def self.has_content?
false
end
# @return
- # ["active = nil"]
+ # [u'active = nil']
def self.encode(channel, active)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if active
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class FlowOk < Protocol::Method
@name = "channel.flow-ok"
@method_id = 21
@@ -691,19 +721,20 @@
def self.has_content?
false
end
# @return
- # ["active = nil"]
+ # [u'active = nil']
def self.encode(channel, active)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if active
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class Close < Protocol::Method
@name = "channel.close"
@method_id = 40
@@ -737,21 +768,22 @@
def self.has_content?
false
end
# @return
- # ["reply_code = nil", "reply_text = EMPTY_STRING", "class_id = nil", "method_id = nil"]
+ # [u'reply_code = nil', u'reply_text = EMPTY_STRING', u'class_id = nil', u'method_id = nil']
def self.encode(channel, reply_code, reply_text, class_id, method_id)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [reply_code].pack(PACK_UINT16)
buffer << reply_text.bytesize.chr
buffer << reply_text
buffer << [class_id].pack(PACK_UINT16)
buffer << [method_id].pack(PACK_UINT16)
MethodFrame.new(buffer, channel)
end
+
end
class CloseOk < Protocol::Method
@name = "channel.close-ok"
@method_id = 41
@@ -772,36 +804,41 @@
end
# @return
# []
def self.encode(channel)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
+
end
class Exchange < Protocol::Class
@name = "exchange"
@method_id = 40
+
+
class Declare < Protocol::Method
@name = "exchange.declare"
@method_id = 10
@index = 0x0028000A # 40, 10, 2621450
@packed_indexes = [40, 10].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "exchange = nil", "type = "direct"", "passive = false", "durable = false", "auto_delete = false", "internal = false", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'exchange = nil', u"type = u'direct'", u'passive = false', u'durable = false', u'auto_delete = false', u'internal = false', u'nowait = false', u'arguments = {}']
def self.encode(channel, exchange, type, passive, durable, auto_delete, internal, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << exchange.bytesize.chr
buffer << exchange
buffer << type.bytesize.chr
@@ -814,10 +851,11 @@
bit_buffer = bit_buffer | (1 << 4) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class DeclareOk < Protocol::Method
@name = "exchange.declare-ok"
@method_id = 11
@@ -834,37 +872,41 @@
end
def self.has_content?
false
end
+
+
end
class Delete < Protocol::Method
@name = "exchange.delete"
@method_id = 20
@index = 0x00280014 # 40, 20, 2621460
@packed_indexes = [40, 20].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "exchange = nil", "if_unused = false", "nowait = false"]
+ # [u'ticket = 0', u'exchange = nil', u'if_unused = false', u'nowait = false']
def self.encode(channel, exchange, if_unused, nowait)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << exchange.bytesize.chr
buffer << exchange
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if if_unused
bit_buffer = bit_buffer | (1 << 1) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class DeleteOk < Protocol::Method
@name = "exchange.delete-ok"
@method_id = 21
@@ -881,27 +923,30 @@
end
def self.has_content?
false
end
+
+
end
class Bind < Protocol::Method
@name = "exchange.bind"
@method_id = 30
@index = 0x0028001E # 40, 30, 2621470
@packed_indexes = [40, 30].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "destination = nil", "source = nil", "routing_key = EMPTY_STRING", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'destination = nil', u'source = nil', u'routing_key = EMPTY_STRING', u'nowait = false', u'arguments = {}']
def self.encode(channel, destination, source, routing_key, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << destination.bytesize.chr
buffer << destination
buffer << source.bytesize.chr
@@ -912,10 +957,11 @@
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class BindOk < Protocol::Method
@name = "exchange.bind-ok"
@method_id = 31
@@ -932,27 +978,30 @@
end
def self.has_content?
false
end
+
+
end
class Unbind < Protocol::Method
@name = "exchange.unbind"
@method_id = 40
@index = 0x00280028 # 40, 40, 2621480
@packed_indexes = [40, 40].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "destination = nil", "source = nil", "routing_key = EMPTY_STRING", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'destination = nil', u'source = nil', u'routing_key = EMPTY_STRING', u'nowait = false', u'arguments = {}']
def self.encode(channel, destination, source, routing_key, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << destination.bytesize.chr
buffer << destination
buffer << source.bytesize.chr
@@ -963,10 +1012,11 @@
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class UnbindOk < Protocol::Method
@name = "exchange.unbind-ok"
@method_id = 51
@@ -983,32 +1033,38 @@
end
def self.has_content?
false
end
+
+
end
+
end
class Queue < Protocol::Class
@name = "queue"
@method_id = 50
+
+
class Declare < Protocol::Method
@name = "queue.declare"
@method_id = 10
@index = 0x0032000A # 50, 10, 3276810
@packed_indexes = [50, 10].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "passive = false", "durable = false", "exclusive = false", "auto_delete = false", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'passive = false', u'durable = false', u'exclusive = false', u'auto_delete = false', u'nowait = false', u'arguments = {}']
def self.encode(channel, queue, passive, durable, exclusive, auto_delete, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
bit_buffer = 0
@@ -1019,10 +1075,11 @@
bit_buffer = bit_buffer | (1 << 4) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class DeclareOk < Protocol::Method
@name = "queue.declare-ok"
@method_id = 11
@@ -1051,27 +1108,30 @@
end
def self.has_content?
false
end
+
+
end
class Bind < Protocol::Method
@name = "queue.bind"
@method_id = 20
@index = 0x00320014 # 50, 20, 3276820
@packed_indexes = [50, 20].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "exchange = nil", "routing_key = EMPTY_STRING", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'exchange = nil', u'routing_key = EMPTY_STRING', u'nowait = false', u'arguments = {}']
def self.encode(channel, queue, exchange, routing_key, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
buffer << exchange.bytesize.chr
@@ -1082,10 +1142,11 @@
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class BindOk < Protocol::Method
@name = "queue.bind-ok"
@method_id = 21
@@ -1102,36 +1163,40 @@
end
def self.has_content?
false
end
+
+
end
class Purge < Protocol::Method
@name = "queue.purge"
@method_id = 30
@index = 0x0032001E # 50, 30, 3276830
@packed_indexes = [50, 30].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "nowait = false"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'nowait = false']
def self.encode(channel, queue, nowait)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class PurgeOk < Protocol::Method
@name = "queue.purge-ok"
@method_id = 31
@@ -1152,27 +1217,30 @@
end
def self.has_content?
false
end
+
+
end
class Delete < Protocol::Method
@name = "queue.delete"
@method_id = 40
@index = 0x00320028 # 50, 40, 3276840
@packed_indexes = [50, 40].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "if_unused = false", "if_empty = false", "nowait = false"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'if_unused = false', u'if_empty = false', u'nowait = false']
def self.encode(channel, queue, if_unused, if_empty, nowait)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
bit_buffer = 0
@@ -1180,10 +1248,11 @@
bit_buffer = bit_buffer | (1 << 1) if if_empty
bit_buffer = bit_buffer | (1 << 2) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class DeleteOk < Protocol::Method
@name = "queue.delete-ok"
@method_id = 41
@@ -1204,27 +1273,30 @@
end
def self.has_content?
false
end
+
+
end
class Unbind < Protocol::Method
@name = "queue.unbind"
@method_id = 50
@index = 0x00320032 # 50, 50, 3276850
@packed_indexes = [50, 50].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "exchange = nil", "routing_key = EMPTY_STRING", "arguments = {}"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'exchange = nil', u'routing_key = EMPTY_STRING', u'arguments = {}']
def self.encode(channel, queue, exchange, routing_key, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
buffer << exchange.bytesize.chr
@@ -1232,10 +1304,11 @@
buffer << routing_key.bytesize.chr
buffer << routing_key
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class UnbindOk < Protocol::Method
@name = "queue.unbind-ok"
@method_id = 51
@@ -1252,11 +1325,14 @@
end
def self.has_content?
false
end
+
+
end
+
end
class Basic < Protocol::Class
@name = "basic"
@method_id = 60
@@ -1278,126 +1354,128 @@
:cluster_id, # shortstr
]
# 1 << 15
def self.encode_content_type(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[0, 0x8000, buffer]
end
# 1 << 14
def self.encode_content_encoding(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[1, 0x4000, buffer]
end
# 1 << 13
def self.encode_headers(value)
- buffer = ""
+ buffer = ''
buffer << AMQ::Protocol::Table.encode(value)
[2, 0x2000, buffer]
end
# 1 << 12
def self.encode_delivery_mode(value)
- buffer = ""
+ buffer = ''
buffer << [value].pack(PACK_CHAR)
[3, 0x1000, buffer]
end
# 1 << 11
def self.encode_priority(value)
- buffer = ""
+ buffer = ''
buffer << [value].pack(PACK_CHAR)
[4, 0x0800, buffer]
end
# 1 << 10
def self.encode_correlation_id(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[5, 0x0400, buffer]
end
# 1 << 9
def self.encode_reply_to(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[6, 0x0200, buffer]
end
# 1 << 8
def self.encode_expiration(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[7, 0x0100, buffer]
end
# 1 << 7
def self.encode_message_id(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[8, 0x0080, buffer]
end
# 1 << 6
def self.encode_timestamp(value)
- buffer = ""
+ buffer = ''
buffer << AMQ::Hacks.pack_64_big_endian(value)
[9, 0x0040, buffer]
end
# 1 << 5
def self.encode_type(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[10, 0x0020, buffer]
end
# 1 << 4
def self.encode_user_id(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[11, 0x0010, buffer]
end
# 1 << 3
def self.encode_app_id(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[12, 0x0008, buffer]
end
# 1 << 2
def self.encode_cluster_id(value)
- buffer = ""
+ buffer = ''
buffer << value.bytesize.chr
buffer << value
[13, 0x0004, buffer]
end
+
+
def self.encode_properties(body_size, properties)
pieces, flags = [], 0
properties.each do |key, value|
i, f, result = self.send(:"encode_#{key}", value)
flags |= f
pieces[i] = result
end
- # result = [60, 0, body_size, flags].pack("n2Qn")
+ # result = [60, 0, body_size, flags].pack('n2Qn')
result = [60, 0].pack(PACK_UINT16_X2)
result += AMQ::Hacks.pack_64_big_endian(body_size)
result += [flags].pack(PACK_UINT16)
result + pieces.join(EMPTY_STRING)
end
@@ -1435,11 +1513,11 @@
0x0010 => :shortstr,
0x0008 => :shortstr,
0x0004 => :shortstr,
}
- # Hash doesn"t give any guarantees on keys order, we will do it in a
+ # Hash doesn't give any guarantees on keys order, we will do it in a
# straightforward way
DECODE_PROPERTIES_KEYS = [
0x8000,
0x4000,
0x2000,
@@ -1493,26 +1571,28 @@
@name = "basic.qos"
@method_id = 10
@index = 0x003C000A # 60, 10, 3932170
@packed_indexes = [60, 10].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["prefetch_size = false", "prefetch_count = false", "global = false"]
+ # [u'prefetch_size = false', u'prefetch_count = false', u'global = false']
def self.encode(channel, prefetch_size, prefetch_count, global)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [prefetch_size].pack(PACK_UINT32)
buffer << [prefetch_count].pack(PACK_UINT16)
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if global
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class QosOk < Protocol::Method
@name = "basic.qos-ok"
@method_id = 11
@@ -1529,27 +1609,30 @@
end
def self.has_content?
false
end
+
+
end
class Consume < Protocol::Method
@name = "basic.consume"
@method_id = 20
@index = 0x003C0014 # 60, 20, 3932180
@packed_indexes = [60, 20].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "consumer_tag = EMPTY_STRING", "no_local = false", "no_ack = false", "exclusive = false", "nowait = false", "arguments = {}"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'consumer_tag = EMPTY_STRING', u'no_local = false', u'no_ack = false', u'exclusive = false', u'nowait = false', u'arguments = {}']
def self.encode(channel, queue, consumer_tag, no_local, no_ack, exclusive, nowait, arguments)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
buffer << consumer_tag.bytesize.chr
@@ -1561,10 +1644,11 @@
bit_buffer = bit_buffer | (1 << 3) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
buffer << AMQ::Protocol::Table.encode(arguments)
MethodFrame.new(buffer, channel)
end
+
end
class ConsumeOk < Protocol::Method
@name = "basic.consume-ok"
@method_id = 21
@@ -1587,34 +1671,38 @@
end
def self.has_content?
false
end
+
+
end
class Cancel < Protocol::Method
@name = "basic.cancel"
@method_id = 30
@index = 0x003C001E # 60, 30, 3932190
@packed_indexes = [60, 30].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["consumer_tag = nil", "nowait = false"]
+ # [u'consumer_tag = nil', u'nowait = false']
def self.encode(channel, consumer_tag, nowait)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << consumer_tag.bytesize.chr
buffer << consumer_tag
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class CancelOk < Protocol::Method
@name = "basic.cancel-ok"
@method_id = 31
@@ -1637,27 +1725,30 @@
end
def self.has_content?
false
end
+
+
end
class Publish < Protocol::Method
@name = "basic.publish"
@method_id = 40
@index = 0x003C0028 # 60, 40, 3932200
@packed_indexes = [60, 40].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
true
end
# @return
- # ["ticket = 0", "exchange = EMPTY_STRING", "routing_key = EMPTY_STRING", "mandatory = false", "immediate = false", "user_headers = nil", "payload = """, "frame_size = nil"]
+ # [u'ticket = 0', u'exchange = EMPTY_STRING', u'routing_key = EMPTY_STRING', u'mandatory = false', u'immediate = false', 'user_headers = nil', 'payload = ""', 'frame_size = nil']
def self.encode(channel, payload, user_headers, exchange, routing_key, mandatory, immediate, frame_size)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << exchange.bytesize.chr
buffer << exchange
buffer << routing_key.bytesize.chr
@@ -1674,10 +1765,11 @@
end
properties_payload = Basic.encode_properties(payload.bytesize, properties)
frames << HeaderFrame.new(properties_payload, channel)
frames + self.encode_body(payload, channel, frame_size)
end
+
end
class Return < Protocol::Method
@name = "basic.return"
@method_id = 50
@@ -1713,10 +1805,12 @@
end
def self.has_content?
true
end
+
+
end
class Deliver < Protocol::Method
@name = "basic.deliver"
@method_id = 60
@@ -1756,36 +1850,40 @@
end
def self.has_content?
true
end
+
+
end
class Get < Protocol::Method
@name = "basic.get"
@method_id = 70
@index = 0x003C0046 # 60, 70, 3932230
@packed_indexes = [60, 70].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["ticket = 0", "queue = EMPTY_STRING", "no_ack = false"]
+ # [u'ticket = 0', u'queue = EMPTY_STRING', u'no_ack = false']
def self.encode(channel, queue, no_ack)
ticket = 0
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << [ticket].pack(PACK_UINT16)
buffer << queue.bytesize.chr
buffer << queue
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if no_ack
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class GetOk < Protocol::Method
@name = "basic.get-ok"
@method_id = 71
@@ -1823,10 +1921,12 @@
end
def self.has_content?
true
end
+
+
end
class GetEmpty < Protocol::Method
@name = "basic.get-empty"
@method_id = 72
@@ -1849,10 +1949,12 @@
end
def self.has_content?
false
end
+
+
end
class Ack < Protocol::Method
@name = "basic.ack"
@method_id = 80
@@ -1879,87 +1981,94 @@
def self.has_content?
false
end
# @return
- # ["delivery_tag = false", "multiple = false"]
+ # [u'delivery_tag = false', u'multiple = false']
def self.encode(channel, delivery_tag, multiple)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << AMQ::Hacks.pack_64_big_endian(delivery_tag)
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if multiple
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class Reject < Protocol::Method
@name = "basic.reject"
@method_id = 90
@index = 0x003C005A # 60, 90, 3932250
@packed_indexes = [60, 90].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["delivery_tag = nil", "requeue = true"]
+ # [u'delivery_tag = nil', u'requeue = true']
def self.encode(channel, delivery_tag, requeue)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << AMQ::Hacks.pack_64_big_endian(delivery_tag)
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if requeue
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class RecoverAsync < Protocol::Method
@name = "basic.recover-async"
@method_id = 100
@index = 0x003C0064 # 60, 100, 3932260
@packed_indexes = [60, 100].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["requeue = false"]
+ # [u'requeue = false']
def self.encode(channel, requeue)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if requeue
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class Recover < Protocol::Method
@name = "basic.recover"
@method_id = 110
@index = 0x003C006E # 60, 110, 3932270
@packed_indexes = [60, 110].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
- # ["requeue = false"]
+ # [u'requeue = false']
def self.encode(channel, requeue)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if requeue
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class RecoverOk < Protocol::Method
@name = "basic.recover-ok"
@method_id = 111
@@ -1976,10 +2085,12 @@
end
def self.has_content?
false
end
+
+
end
class Nack < Protocol::Method
@name = "basic.nack"
@method_id = 120
@@ -2008,45 +2119,51 @@
def self.has_content?
false
end
# @return
- # ["delivery_tag = false", "multiple = false", "requeue = true"]
+ # [u'delivery_tag = false', u'multiple = false', u'requeue = true']
def self.encode(channel, delivery_tag, multiple, requeue)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
buffer << AMQ::Hacks.pack_64_big_endian(delivery_tag)
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if multiple
bit_buffer = bit_buffer | (1 << 1) if requeue
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
+
end
class Tx < Protocol::Class
@name = "tx"
@method_id = 90
+
+
class Select < Protocol::Method
@name = "tx.select"
@method_id = 10
@index = 0x005A000A # 90, 10, 5898250
@packed_indexes = [90, 10].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
# []
def self.encode(channel)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
class SelectOk < Protocol::Method
@name = "tx.select-ok"
@method_id = 11
@@ -2063,29 +2180,33 @@
end
def self.has_content?
false
end
+
+
end
class Commit < Protocol::Method
@name = "tx.commit"
@method_id = 20
@index = 0x005A0014 # 90, 20, 5898260
@packed_indexes = [90, 20].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
# []
def self.encode(channel)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
class CommitOk < Protocol::Method
@name = "tx.commit-ok"
@method_id = 21
@@ -2102,29 +2223,33 @@
end
def self.has_content?
false
end
+
+
end
class Rollback < Protocol::Method
@name = "tx.rollback"
@method_id = 30
@index = 0x005A001E # 90, 30, 5898270
@packed_indexes = [90, 30].pack(PACK_UINT16_X2).freeze
+
def self.has_content?
false
end
# @return
# []
def self.encode(channel)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
class RollbackOk < Protocol::Method
@name = "tx.rollback-ok"
@method_id = 31
@@ -2141,17 +2266,22 @@
end
def self.has_content?
false
end
+
+
end
+
end
class Confirm < Protocol::Class
@name = "confirm"
@method_id = 85
+
+
class Select < Protocol::Method
@name = "confirm.select"
@method_id = 10
@index = 0x0055000A # 85, 10, 5570570
@packed_indexes = [85, 10].pack(PACK_UINT16_X2).freeze
@@ -2173,19 +2303,20 @@
def self.has_content?
false
end
# @return
- # ["nowait = false"]
+ # [u'nowait = false']
def self.encode(channel, nowait)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
bit_buffer = 0
bit_buffer = bit_buffer | (1 << 0) if nowait
buffer << [bit_buffer].pack(PACK_CHAR)
MethodFrame.new(buffer, channel)
end
+
end
class SelectOk < Protocol::Method
@name = "confirm.select-ok"
@method_id = 11
@@ -2206,19 +2337,23 @@
end
# @return
# []
def self.encode(channel)
- buffer = ""
+ buffer = ''
buffer << @packed_indexes
MethodFrame.new(buffer, channel)
end
+
end
+
end
+
METHODS = begin
Method.methods.inject(Hash.new) do |hash, klass|
hash.merge!(klass.index => klass)
end
end
end
end
+