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(timeout=600) -> DRb::TimerIdConv-
TimerIdConv のインスタンスを生成して返します。
- [PARAM] timeout:
- to_id で識別子に変換してからオブジェクトがGCされないことが保証される秒数
インスタンスメソッド
to_id(obj) -> Integer-
オブジェクトを識別子に変換します。
to_obj(ref) -> Object-
識別子をオブジェクトに変換します。
class DRb::TimerIdConv