Module: Julewire::Core::Scheduling::Deadline

Defined in:
lib/julewire/core/scheduling/deadline.rb

Constant Summary collapse

CLOCK =
Process::CLOCK_MONOTONIC

Class Method Summary collapse

Class Method Details

.for(timeout) ⇒ Object



10
11
12
# File 'lib/julewire/core/scheduling/deadline.rb', line 10

def for(timeout)
  Process.clock_gettime(CLOCK) + timeout if timeout
end

.remaining(deadline) ⇒ Object



14
15
16
17
18
19
# File 'lib/julewire/core/scheduling/deadline.rb', line 14

def remaining(deadline)
  return unless deadline

  remaining = deadline - Process.clock_gettime(CLOCK)
  remaining.positive? ? remaining : 0
end