Class: DRb::TimerIdConv

Inherits:
DRbIdConv show all
Defined in:
lib/drb/timeridconv.rb

Overview

Timer id conversion keeps objects alive for a certain amount of time after their last access. The default time period is 600 seconds and can be changed upon initialization.

To use TimerIdConv:

DRb.install_id_conv TimerIdConv.new 60 # one minute

Defined Under Namespace

Classes: TimerHolder2

Instance Method Summary collapse

Constructor Details

#initialize(keeping = 600) ⇒ TimerIdConv

Creates a new TimerIdConv which will hold objects for keeping seconds.



80
81
82
# File 'lib/drb/timeridconv.rb', line 80

def initialize(keeping=600)
  @holder = TimerHolder2.new(keeping)
end

Instance Method Details

#to_id(obj) ⇒ Object

:nodoc:



91
92
93
# File 'lib/drb/timeridconv.rb', line 91

def to_id(obj) # :nodoc:
  return @holder.add(obj)
end

#to_obj(ref) ⇒ Object

:nodoc:



84
85
86
87
88
89
# File 'lib/drb/timeridconv.rb', line 84

def to_obj(ref) # :nodoc:
  return super if ref.nil?
  @holder.fetch(ref)
rescue TimerHolder2::InvalidIndexError
  raise "invalid reference"
end