class DRbQS::Server::NodeList
Attributes
history[R]
list[R]
Public Class Methods
new()
click to toggle source
# File lib/drbqs/server/node_list.rb, line 8 def initialize @id = 0 @list = {} @check = [] @prepare_to_exit = [] @history = DRbQS::Server::History.new end
Public Instance Methods
add_to_preparation_to_exit(node_id)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 62 def add_to_preparation_to_exit(node_id) unless prepare_to_exit?(node_id) @history.set(node_id, :set_exitting) @prepare_to_exit << node_id end end
delete(id, history_state)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 31 def delete(id, history_state) @list.delete(id) @prepare_to_exit.delete(id) @history.set(id, history_state) end
delete_not_alive()
click to toggle source
# File lib/drbqs/server/node_list.rb, line 37 def delete_not_alive @check.each do |id| delete(id, :disconnect) end deleted = @check @check = [] deleted end
each(&block)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 23 def each(&block) @list.each(&block) end
empty?()
click to toggle source
# File lib/drbqs/server/node_list.rb, line 50 def empty? @list.size == 0 end
exist?(id)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 54 def exist?(id) @list.find { |a| a[0] == id } end
get_new_id(id_str)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 16 def get_new_id(id_str) @id += 1 @list[@id] = id_str @history.set(@id, :connect, @list[@id]) @id end
prepare_to_exit?(node_id)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 58 def prepare_to_exit?(node_id) @prepare_to_exit.include?(node_id) end
set_alive(id)
click to toggle source
# File lib/drbqs/server/node_list.rb, line 46 def set_alive(id) @check.delete(id) end
set_check_connection()
click to toggle source
# File lib/drbqs/server/node_list.rb, line 27 def set_check_connection @check = @list.keys end