Class: MTProto::Type::MsgContainer

Inherits:
Object
  • Object
show all
Defined in:
lib/mtproto/type/msg_container.rb

Constant Summary collapse

CONSTRUCTOR =
0x73f1f8dc

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(messages:) ⇒ MsgContainer

Returns a new instance of MsgContainer.



35
36
37
# File 'lib/mtproto/type/msg_container.rb', line 35

def initialize(messages:)
  @messages = messages
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



8
9
10
# File 'lib/mtproto/type/msg_container.rb', line 8

def messages
  @messages
end

Class Method Details

.deserialize(data) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mtproto/type/msg_container.rb', line 10

def self.deserialize(data)
  offset = 4
  message_count = data[offset, 4].unpack1('L<')
  offset += 4

  messages = []
  message_count.times do
    msg_id = data[offset, 8].unpack1('Q<')
    offset += 8

    seqno = data[offset, 4].unpack1('L<')
    offset += 4

    bytes = data[offset, 4].unpack1('L<')
    offset += 4

    body = data[offset, bytes]
    offset += bytes

    messages << { msg_id: msg_id, seqno: seqno, body: body }
  end

  new(messages: messages)
end