class DRb::DRbIdConv

负责在对象及其 ID 之间进行转换的类。

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

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

公共实例方法

to_id(obj) 单击以切换源

将对象转换为引用 ID。

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

# File drb-2.2.1/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 drb-2.2.1/lib/drb/drb.rb, line 366
def to_obj(ref)
  ObjectSpace._id2ref(ref)
end