Method: AMQ::Protocol::Connection::Start.decode

Defined in:
lib/amq/protocol/client.rb

.decode(data) ⇒ Object



206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
# File 'lib/amq/protocol/client.rb', line 206

def self.decode(data)
  offset = offset = 0 # self-assigning offset to eliminate "assigned but unused variable" warning even if offset is not used in this method
  version_major = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  version_minor = data[offset, 1].unpack(PACK_CHAR).first
  offset += 1
  table_length = Table.length(data[offset, 4])
  server_properties = Table.decode(data[offset, table_length + 4])
  offset += table_length + 4
  length = data[offset, 4].unpack(PACK_UINT32).first
  offset += 4
  mechanisms = data[offset, length]
  offset += length
  length = data[offset, 4].unpack(PACK_UINT32).first
  offset += 4
  locales = data[offset, length]
  offset += length
  self.new(version_major, version_minor, server_properties, mechanisms, locales)
end