类 DRb::DRbIdConv

负责在对象与其 ID 之间进行转换。

此默认实现使用对象的本地 ObjectSpace __id__ 作为其 ID。这意味着,对象在 drb 中的标识仅在该对象实例在服务器运行时内保持活动状态时才有效。

有关替代机制,请参阅 drb/timeridconv.rb 中的 DRb::TimerIdConv 和完整 drb 分发版中的 sample/name.rb 中的 DRbNameIdConv。

公共实例方法

to_id(obj) 单击以切换源

将对象转换为引用 ID。

此实现返回本地对象空间中对象的 __id__。

# 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) 单击以切换源

将对象引用 ID 转换为对象。

此实现会在本地对象空间中查找引用 ID 并返回它引用的对象。

# File lib/drb/drb.rb, line 366
def to_obj(ref)
  ObjectSpace._id2ref(ref)
end