Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > drb/timeridconvライブラリ > DRb::TimerIdConvクラス

class 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
インスタンスメソッド
to_id to_obj

特異メソッド

new(timeout=600) -> DRb::TimerIdConv[permalink][rdoc]

TimerIdConv のインスタンスを生成して返します。

[PARAM] timeout:
to_id で識別子に変換してからオブジェクトがGCされないことが保証される秒数

インスタンスメソッド

to_id(obj) -> Integer[permalink][rdoc]

オブジェクトを識別子に変換します。

to_obj(ref) -> Object[permalink][rdoc]

識別子をオブジェクトに変換します。