54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/skynet/skynet_tuplespace_server.rb', line 54
def self.start(options)
options[:port] ||= 7647
log = Logger.new(options[:logfile])
log.level = Object.module_eval("#{"Logger::" + options[:loglevel].upcase}", __FILE__, __LINE__) if options[:loglevel]
log.info "STARTING TUPLESPACE SERVER ON PORT: #{options[:port]} Logging to #{options[:logfile]}"
ts = Rinda::TupleSpace.new
begin
if options[:use_ringserver] and options[:port]
DRb.start_service
tuple = [:name,:TupleSpace, ts, 'Tuple Space']
renewer = Rinda::SimpleRenewer.new
ring_ts = Rinda::TupleSpace.new
ring_ts.write(tuple, renewer)
server = Rinda::RingServer.new(ring_ts, options[:port])
end
if options[:drburi]
DRb.start_service(options[:drburi], ts)
end
DRb.thread.join
rescue SystemExit, Interrupt
rescue Exception, RuntimeError => e
log.fatal "Couldn't start Skynet Server #{e.inspect}"
end
end
|