2006年 11月 10日

RingServer を繋ぐ

両方の Server 同士でそれぞれタプルを書き込み合うっていうのがたぶん一番簡単な方法かな?

ts    = Rinda::TupleSpace.new
place = Rinda::RingServer.new(ts)

DRb.start_service(uri, ts)

other_ring_server = DRbObject.new_with_uri("druby://other-network")
ts.notify(tuple_match).each do |t|
  other_ring_server.write(t)
end

でもこれだけだと NAT とかの場合にタプルは取得できるのにサービスに接続できないというハメになりそう。
drb/gw.rb を使わないとだめかな? SimpleDelegator を DRbUndumped にしてあげるだけでもいけそうな気がする