class Discordrb::Session
This class stores the data of an active gateway session. Note that this is different from a websocket connection - there may be multiple sessions per connection or one session may persist over multiple connections.
Attributes
sequence[RW]
session_id[R]
Public Class Methods
new(session_id)
click to toggle source
# File lib/discordrb/gateway.rb, line 96 def initialize(session_id) @session_id = session_id @sequence = 0 @suspended = false @invalid = false end
Public Instance Methods
invalid?()
click to toggle source
# File lib/discordrb/gateway.rb, line 122 def invalid? @invalid end
invalidate()
click to toggle source
Flags this session as being invalid
# File lib/discordrb/gateway.rb, line 118 def invalidate @invalid = true end
resume()
click to toggle source
Flags this session as no longer being suspended, so we can resume
# File lib/discordrb/gateway.rb, line 113 def resume @suspended = false end
should_resume?()
click to toggle source
# File lib/discordrb/gateway.rb, line 126 def should_resume? suspended? && !invalid? end
suspend()
click to toggle source
Flags this session as suspended, so we know not to try and send heartbeats, etc. to the gateway until we've reconnected
# File lib/discordrb/gateway.rb, line 104 def suspend @suspended = true end
suspended?()
click to toggle source
# File lib/discordrb/gateway.rb, line 108 def suspended? @suspended end