class Rinda::RingProvider
RingProvider
uses a RingServer
advertised TupleSpace
as a name service. TupleSpace
clients can register themselves with the remote TupleSpace
and look up other provided services via the remote TupleSpace
.
Services are registered with a tuple of the format [:name, klass, DRbObject, description].
Public Class Methods
new(klass, front, desc, renewer = nil)
click to toggle source
Creates a RingProvider
that will provide a klass
service running on front
, with a description
. renewer
is optional.
# File lib/rinda2/ring.rb, line 34 def initialize(klass, front, desc, renewer = nil) @tuple = [:name, klass, front, desc] @renewer = renewer || Rinda::SimpleRenewer.new end
Public Instance Methods
provide(addresses)
click to toggle source
Advertises this service on the primary remote TupleSpace
.
# File lib/rinda2/ring.rb, line 42 def provide (addresses) ts = Rinda::RingFinger.new(addresses).each.first ts.write(@tuple, @renewer) end