Class: MTProto::Session

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSession

Returns a new instance of Session.



9
10
11
12
# File 'lib/mtproto/session.rb', line 9

def initialize
  @session_id = SecureRandom.random_bytes(8).unpack1('Q<')
  @seq_no = 0
end

Instance Attribute Details

#seq_noObject (readonly)

Returns the value of attribute seq_no.



7
8
9
# File 'lib/mtproto/session.rb', line 7

def seq_no
  @seq_no
end

#session_idObject (readonly)

Returns the value of attribute session_id.



7
8
9
# File 'lib/mtproto/session.rb', line 7

def session_id
  @session_id
end

Instance Method Details

#next_seq_no(content_related: true) ⇒ Object



14
15
16
17
18
# File 'lib/mtproto/session.rb', line 14

def next_seq_no(content_related: true)
  current = @seq_no
  @seq_no += content_related ? 1 : 0
  current * 2 + (content_related ? 1 : 0)
end