class Master::Base
Public Class Methods
new()
click to toggle source
# File lib/spark/worker/master.rb, line 32 def initialize @port = ARGV[1].to_s.strip.to_i @socket = TCPSocket.open('localhost', @port) @worker_arguments = @socket.read_string end
Public Instance Methods
kill_worker_and_wait()
click to toggle source
# File lib/spark/worker/master.rb, line 60 def kill_worker_and_wait if kill_worker @socket.write_int(SUCCESSFULLY_KILLED) else @socket.write_int(UNSUCCESSFUL_KILLING) end end
receive_message()
click to toggle source
# File lib/spark/worker/master.rb, line 47 def receive_message command = @socket.read_int case command when CREATE_WORKER create_worker when KILL_WORKER kill_worker when KILL_WORKER_AND_WAIT kill_worker_and_wait end end
run()
click to toggle source
# File lib/spark/worker/master.rb, line 38 def run selector = NIO::Selector.new monitor = selector.register(@socket, :r) monitor.value = Proc.new { receive_message } loop { selector.select {|monitor| monitor.value.call} } end