Class: SocketList
Overview
ソケットとIDの対応
Instance Method Summary collapse
- #[](sid) ⇒ Object
- #add(sid, sock) ⇒ Object
- #all_sid ⇒ Object
- #delete(sid) ⇒ Object
-
#initialize ⇒ SocketList
constructor
A new instance of SocketList.
Constructor Details
#initialize ⇒ SocketList
Returns a new instance of SocketList.
5 6 7 8 |
# File 'lib/dango/socket_list.rb', line 5 def initialize @sl_hash = Hash.new @sl_mutex = Mutex.new end |
Instance Method Details
#[](sid) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/dango/socket_list.rb', line 30 def [](sid) @sl_mutex.synchronize do # raise("not exist sid(#{sid.inspect})") if ! @sl_hash.has_key?(sid) return(nil) if ! @sl_hash.has_key?(sid) @sl_hash[sid] end end |
#add(sid, sock) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/dango/socket_list.rb', line 22 def add(sid, sock) @sl_mutex.synchronize do raise("already exist sid(#{sid.inspect})") if @sl_hash.has_key?(sid) raise("sock(#{sock.inspect}) is not Socket") if sock.kind_of?(Socket) @sl_hash[sid] = sock end end |
#all_sid ⇒ Object
10 11 12 13 14 |
# File 'lib/dango/socket_list.rb', line 10 def all_sid() @sl_mutex.synchronize do @sl_hash.keys end end |
#delete(sid) ⇒ Object
16 17 18 19 20 |
# File 'lib/dango/socket_list.rb', line 16 def delete(sid) @sl_mutex.synchronize do @sl_hash.delete(sid) end end |