Method: Socketry::Timeout#start_timer

Defined in:
lib/socketry/timeout.rb

#start_timer(timer = DEFAULT_TIMER_CLASS.new) ⇒ true

Start a timer in the included object

Parameters:

  • timer (#start, #to_f) (defaults to: DEFAULT_TIMER_CLASS.new)

    a timer object (ideally monotonic)

Returns:

  • (true)

    timer started successfully

Raises:



20
21
22
23
24
25
26
27
28
# File 'lib/socketry/timeout.rb', line 20

def start_timer(timer = DEFAULT_TIMER_CLASS.new)
  raise Socketry::InternalError, "timer already started" if defined?(@timer)
  raise Socketry::InternalError, "deadline already set"  if defined?(@deadline)

  @deadline = nil
  @timer = timer
  @timer.start
  true
end