Class: DRb::DRbIdConv

Inherits:
Object
  • Object
show all
Defined in:
lib/drb/drb.rb

Overview

Class responsible for converting between an object and its id.

This, the default implementation, uses an object’s local ObjectSpace __id__ as its id. This means that an object’s identification over drb remains valid only while that object instance remains alive within the server runtime.

For alternative mechanisms, see DRb::TimerIdConv in rdb/timeridconv.rb and DRbNameIdConv in sample/name.rb in the full drb distribution.

Direct Known Subclasses

GWIdConv, TimerIdConv

Instance Method Summary collapse

Instance Method Details

#to_id(obj) ⇒ Object

Convert an object into a reference id.

This implementation returns the object’s __id__ in the local object space.



379
380
381
# File 'lib/drb/drb.rb', line 379

def to_id(obj)
  obj.nil? ? nil : obj.__id__
end

#to_obj(ref) ⇒ Object

Convert an object reference id to an object.

This implementation looks up the reference id in the local object space and returns the object it refers to.



371
372
373
# File 'lib/drb/drb.rb', line 371

def to_obj(ref)
  ObjectSpace._id2ref(ref)
end