123456789_123456789_123456789_123456789_123456789_

Class: DRb::DRbIdConv

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Inherits: Object
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 TimerIdConv in drb/timeridconv.rb and DRbNameIdConv in sample/name.rb in the full drb distribution.

Instance Method Summary

Instance Method Details

#to_id(obj)

Convert an object into a reference id.

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

[ GitHub ]

  
# File 'lib/drb/drb.rb', line 374

def to_id(obj)
  case obj
  when Object
    obj.nil? ? nil : obj.__id__
  when BasicObject
    obj.__id__
  end
end

#to_obj(ref)

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.

[ GitHub ]

  
# File 'lib/drb/drb.rb', line 366

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