diff options
author | seki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-14 02:28:02 +0000 |
---|---|---|
committer | seki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-14 02:28:02 +0000 |
commit | 30ff0b6aeb64ce114257710d9a534148515164a9 (patch) | |
tree | 0406cb26ba7387c664ef8d180306804a9b27725d /sample/drb/drbm.rb | |
parent | 0562a84558afdc085172c102a4c913bc0c2ec57d (diff) |
import drb/sample
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/drb/drbm.rb')
-rw-r--r-- | sample/drb/drbm.rb | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/sample/drb/drbm.rb b/sample/drb/drbm.rb new file mode 100644 index 0000000000..37a26cdfa5 --- /dev/null +++ b/sample/drb/drbm.rb @@ -0,0 +1,59 @@ +=begin + multiple DRbServer + Copyright (c) 1999-2002 Masatoshi SEKI +=end + +=begin + How to play. + + Terminal 1 + | % ruby drbm.rb + | druby://yourhost:7640 druby://yourhost:7641 + + Terminal 2 + | % ruby drbmc.rb druby://yourhost:7640 druby://yourhost:7641 + | [#<DRb::DRbObject .... @uri="druby://yourhost:7640">, "FOO"] + | [#<DRb::DRbObject .... @uri="druby://yourhost:7641">, "FOO"] + +=end + +require 'drb/drb' + +class Hoge + include DRbUndumped + def initialize(s) + @str = s + end + + def to_s + @str + end +end + +class Foo + def initialize(s='FOO') + @hoge = Hoge.new(s) + end + + def hello + @hoge + end +end + +class Bar < Foo + def initialize(foo) + @hoge = foo.hello + end +end + + +if __FILE__ == $0 + foo = Foo.new + s1 = DRb::DRbServer.new('druby://:7640', foo) + s2 = DRb::DRbServer.new('druby://:7641', Bar.new(foo)) + + puts "#{s1.uri} #{s2.uri}" + + gets +end + |