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