1require 'drb/drb' 2require 'rinda/rinda' 3 4def do_it(v) 5 puts "do_it(#{v})" 6 v + v 7end 8 9uri = ARGV.shift || raise("usage: #{$0} <server_uri>") 10 11DRb.start_service 12ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri)) 13 14while true 15 r = ts.take(['sum', nil, nil]) 16 v = do_it(r[2]) 17 ts.write(['ans', r[1], r[2], v]) 18end 19