Method: Socketry::Timeout#set_timeout

Defined in:
lib/socketry/timeout.rb

#set_timeout(timeout) ⇒ Float

Set a timeout. Only one timeout may be active at a given time for a given object.

Parameters:

  • timeout (Numeric)

    number of seconds until the timeout is reached

Returns:

  • (Float)

    deadline (relative to #lifetime) at which the timeout is reached

Raises:



44
45
46
47
48
49
50
# File 'lib/socketry/timeout.rb', line 44

def set_timeout(timeout)
  raise Socketry::InternalError, "deadline already set" if @deadline
  return unless timeout
  raise Socketry::TimeoutError, "time expired" if timeout < 0

  @deadline = lifetime + timeout
end