Class: GorgonAMQ::Protocol::Basic::Ack
- Defined in:
- lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb
Instance Attribute Summary collapse
-
#delivery_tag ⇒ Object
readonly
Returns the value of attribute delivery_tag.
-
#multiple ⇒ Object
readonly
Returns the value of attribute multiple.
Class Method Summary collapse
- .decode(data) ⇒ Object
-
.encode(channel, delivery_tag, multiple) ⇒ Object
[u’delivery_tag = false’, u’multiple = false’].
- .has_content? ⇒ Boolean
Instance Method Summary collapse
-
#initialize(delivery_tag, multiple) ⇒ Ack
constructor
A new instance of Ack.
Methods inherited from Method
encode_body, index, inherited, instantiate, method_id, methods, name, split_headers
Constructor Details
#initialize(delivery_tag, multiple) ⇒ Ack
Returns a new instance of Ack.
1949 1950 1951 1952 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1949 def initialize(delivery_tag, multiple) @delivery_tag = delivery_tag @multiple = multiple end |
Instance Attribute Details
#delivery_tag ⇒ Object (readonly)
Returns the value of attribute delivery_tag.
1948 1949 1950 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1948 def delivery_tag @delivery_tag end |
#multiple ⇒ Object (readonly)
Returns the value of attribute multiple.
1948 1949 1950 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1948 def multiple @multiple end |
Class Method Details
.decode(data) ⇒ Object
1938 1939 1940 1941 1942 1943 1944 1945 1946 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1938 def self.decode(data) offset = 0 delivery_tag = GorgonAMQ::Pack.unpack_uint64_big_endian(data[offset, 8]).first offset += 8 bit_buffer = data[offset, 1].unpack(PACK_CHAR).first offset += 1 multiple = (bit_buffer & (1 << 0)) != 0 self.new(delivery_tag, multiple) end |
.encode(channel, delivery_tag, multiple) ⇒ Object
- u’delivery_tag = false’, u’multiple = false’
1960 1961 1962 1963 1964 1965 1966 1967 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1960 def self.encode(channel, delivery_tag, multiple) buffer = @packed_indexes.dup buffer << GorgonAMQ::Pack.pack_uint64_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 |
.has_content? ⇒ Boolean
1954 1955 1956 |
# File 'lib/gorgon_amq-protocol/lib/gorgon_amq/protocol/client.rb', line 1954 def self.has_content? false end |