Class: SessionManager
Overview
sessionとsidの管理(1セッションごとにインスタンス化される)
Constant Summary collapse
- MaxSidCounter =
999999
Instance Method Summary collapse
-
#close_session(sid) ⇒ Object
session終了.
-
#initialize(shared, rails_env) ⇒ SessionManager
constructor
A new instance of SessionManager.
-
#session ⇒ Object
sessionへのアクセス.
-
#start_session ⇒ Object
session開始.
Constructor Details
#initialize(shared, rails_env) ⇒ SessionManager
Returns a new instance of SessionManager.
7 8 9 10 11 12 13 14 15 |
# File 'lib/dango/session_manager.rb', line 7 def initialize(shared, rails_env) @shared = shared @rails_env = rails_env @session_list = {} @session_mutex = Mutex.new @shared[:_session_manager] = {} end |
Instance Method Details
#close_session(sid) ⇒ Object
session終了
27 28 29 30 31 32 33 |
# File 'lib/dango/session_manager.rb', line 27 def close_session(sid) @session_mutex.synchronize do drop_sid() # @session_list[Thread.current.object_id] = nil @session_list.delete(Thread.current.object_id) end end |
#session ⇒ Object
sessionへのアクセス
36 37 38 39 40 |
# File 'lib/dango/session_manager.rb', line 36 def session @session_mutex.synchronize do @session_list[Thread.current.object_id] end end |
#start_session ⇒ Object
session開始
19 20 21 22 23 24 |
# File 'lib/dango/session_manager.rb', line 19 def start_session() @session_mutex.synchronize do sid = generate_sid() @session_list[Thread.current.object_id] = {:sid => sid} end end |