summaryrefslogtreecommitdiff
path: root/sample/drb/ring_inspect.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/drb/ring_inspect.rb')
-rw-r--r--sample/drb/ring_inspect.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/sample/drb/ring_inspect.rb b/sample/drb/ring_inspect.rb
new file mode 100644
index 0000000..c096cd7
--- /dev/null
+++ b/sample/drb/ring_inspect.rb
@@ -0,0 +1,30 @@
+require 'rinda/ring'
+require 'drb/drb'
+
+class Inspector
+ def initialize
+ end
+
+ def primary
+ Rinda::RingFinger.primary
+ end
+
+ def list_place
+ Rinda::RingFinger.to_a
+ end
+
+ def list(idx = -1)
+ if idx < 0
+ ts = primary
+ else
+ ts = list_place[idx]
+ raise "RingNotFound" unless ts
+ end
+ ts.read_all([:name, nil, nil, nil])
+ end
+end
+
+def main
+ DRb.start_service
+ r = Inspector.new
+end