類別 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