Bug #9163 ยป rinda.ring.rb.announce_local_ring_server.patch
| lib/rinda/ring.rb (working copy) | ||
|---|---|---|
|
# address of the local TupleSpace.
|
||
|
def do_reply
|
||
|
tuple = @ts.take([:lookup_ring, DRbObject], @renewer)
|
||
|
tuple = @ts.take([:lookup_ring, nil], @renewer)
|
||
|
Thread.new { tuple[1].call(@ts) rescue nil}
|
||
|
rescue
|
||
|
end
|
||
| test/rinda/test_rinda.rb (working copy) | ||
|---|---|---|
|
@rs.shutdown
|
||
|
end
|
||
|
def test_do_reply
|
||
|
called = nil
|
||
|
callback = proc { |ts|
|
||
|
called = ts
|
||
|
}
|
||
|
callback = DRb::DRbObject.new callback
|
||
|
@ts.write [:lookup_ring, callback]
|
||
|
@rs.do_reply
|
||
|
Thread.pass until called
|
||
|
assert_same @ts, called
|
||
|
end
|
||
|
def test_do_reply_local
|
||
|
called = nil
|
||
|
callback = proc { |ts|
|
||
|
called = ts
|
||
|
}
|
||
|
@ts.write [:lookup_ring, callback]
|
||
|
@rs.do_reply
|
||
|
Thread.pass until called
|
||
|
assert_same @ts, called
|
||
|
end
|
||
|
def test_make_socket_unicast
|
||
|
v4 = @rs.make_socket('127.0.0.1')
|
||