Class: AMQ::Protocol::Basic::Deliver

Inherits:
Method
  • Object
show all
Defined in:
lib/amq/protocol/client.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Method

encode_body, index, inherited, instantiate, method_id, methods, name, split_headers

Constructor Details

#initialize(consumer_tag, delivery_tag, redelivered, exchange, routing_key) ⇒ Deliver

Returns a new instance of Deliver.



1864
1865
1866
1867
1868
1869
1870
# File 'lib/amq/protocol/client.rb', line 1864

def initialize(consumer_tag, delivery_tag, redelivered, exchange, routing_key)
  @consumer_tag = consumer_tag
  @delivery_tag = delivery_tag
  @redelivered = redelivered
  @exchange = exchange
  @routing_key = routing_key
end

Instance Attribute Details

#consumer_tagObject (readonly)

Returns the value of attribute consumer_tag.



1863
1864
1865
# File 'lib/amq/protocol/client.rb', line 1863

def consumer_tag
  @consumer_tag
end

#delivery_tagObject (readonly)

Returns the value of attribute delivery_tag.



1863
1864
1865
# File 'lib/amq/protocol/client.rb', line 1863

def delivery_tag
  @delivery_tag
end

#exchangeObject (readonly)

Returns the value of attribute exchange.



1863
1864
1865
# File 'lib/amq/protocol/client.rb', line 1863

def exchange
  @exchange
end

#redeliveredObject (readonly)

Returns the value of attribute redelivered.



1863
1864
1865
# File 'lib/amq/protocol/client.rb', line 1863

def redelivered
  @redelivered
end

#routing_keyObject (readonly)

Returns the value of attribute routing_key.



1863
1864
1865
# File 'lib/amq/protocol/client.rb', line 1863

def routing_key
  @routing_key
end

Class Method Details

.decode(data) ⇒ Object

Returns:



1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
# File 'lib/amq/protocol/client.rb', line 1841

def self.decode(data)
  offset = 0
  length = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  consumer_tag = data[offset, length]
  offset += length
  delivery_tag = AMQ::Hacks.unpack_64_big_endian(data[offset, 8]).first
  offset += 8
  bit_buffer = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  redelivered = (bit_buffer & (1 << 0)) != 0
  length = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  exchange = data[offset, length]
  offset += length
  length = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  routing_key = data[offset, length]
  offset += length
  self.new(consumer_tag, delivery_tag, redelivered, exchange, routing_key)
end

.has_content?Boolean

Returns:

  • (Boolean)


1872
1873
1874
# File 'lib/amq/protocol/client.rb', line 1872

def self.has_content?
  true
end