Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > drb/timeridconvライブラリ > DRb::TimerIdConvクラス
クラスの継承リスト: DRb::TimerIdConv < DRb::DRbIdConv < Object < Kernel < BasicObject
オブジェクトと識別子を相互に変換するクラスです。 これによって識別子に変換されたオブジェクトは一定時間 GC から保護されます。
DRb::DRbIdConv では to_id で識別子に 変換し、リモートに送られたオブジェクトは GC から保護されません。 ローカルプロセスからの参照がなくなったオブジェクトは、 リモートからの参照が生きていたとしても GC によって廃棄される 可能性があります。 このクラスを DRb::DRbIdConv の代わりに用いることで、 to_id でオブジェクトを識別子に変換してから 一定時間(DRb::TimerIdConv.new の timeout で指定した秒数) の間はそのオブジェクトは GC されないことが保証されます。
このクラスを使う場合はどのタイミングでオブジェクトが 識別子に変換されるかを注意する必要があります。 基本的にはオブジェクトをリモートに送る直前に変換されます。
new(timeout=600) -> DRb::TimerIdConv
[permalink][rdoc]TimerIdConv のインスタンスを生成して返します。
to_id(obj) -> Integer
[permalink][rdoc]オブジェクトを識別子に変換します。
to_obj(ref) -> Object
[permalink][rdoc]識別子をオブジェクトに変換します。