Class: AMQ::Protocol::Basic::Nack
- Defined in:
- lib/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.
-
#requeue ⇒ Object
readonly
Returns the value of attribute requeue.
Class Method Summary collapse
-
.decode(data) ⇒ Object
Optimized decode using unpack1 and getbyte.
-
.encode(channel, delivery_tag, multiple, requeue) ⇒ Object
[u’delivery_tag = false’, u’multiple = false’, u’requeue = true’].
- .has_content? ⇒ Boolean
Instance Method Summary collapse
-
#initialize(delivery_tag, multiple, requeue) ⇒ Nack
constructor
A new instance of Nack.
Methods inherited from Method
encode_body, index, inherited, instantiate, method_id, methods, name, split_headers
Constructor Details
#initialize(delivery_tag, multiple, requeue) ⇒ Nack
Returns a new instance of Nack.
2148 2149 2150 2151 2152 |
# File 'lib/amq/protocol/client.rb', line 2148 def initialize(delivery_tag, multiple, requeue) @delivery_tag = delivery_tag @multiple = multiple @requeue = requeue end |
Instance Attribute Details
#delivery_tag ⇒ Object (readonly)
Returns the value of attribute delivery_tag.
2147 2148 2149 |
# File 'lib/amq/protocol/client.rb', line 2147 def delivery_tag @delivery_tag end |
#multiple ⇒ Object (readonly)
Returns the value of attribute multiple.
2147 2148 2149 |
# File 'lib/amq/protocol/client.rb', line 2147 def multiple @multiple end |
#requeue ⇒ Object (readonly)
Returns the value of attribute requeue.
2147 2148 2149 |
# File 'lib/amq/protocol/client.rb', line 2147 def requeue @requeue end |
Class Method Details
.decode(data) ⇒ Object
Optimized decode using unpack1 and getbyte
2139 2140 2141 2142 2143 2144 2145 |
# File 'lib/amq/protocol/client.rb', line 2139 def self.decode(data) delivery_tag = data.byteslice(0, 8).unpack1(PACK_UINT64_BE) bit_buffer = data.getbyte(8) multiple = (bit_buffer & 1) != 0 requeue = (bit_buffer & 2) != 0 self.new(delivery_tag, multiple, requeue) end |
.encode(channel, delivery_tag, multiple, requeue) ⇒ Object
- u’delivery_tag = false’, u’multiple = false’, u’requeue = true’
2160 2161 2162 2163 2164 2165 2166 2167 2168 |
# File 'lib/amq/protocol/client.rb', line 2160 def self.encode(channel, delivery_tag, multiple, requeue) buffer = @packed_indexes.dup buffer << AMQ::Pack.pack_uint64_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 |
.has_content? ⇒ Boolean
2154 2155 2156 |
# File 'lib/amq/protocol/client.rb', line 2154 def self.has_content? false end |