Class: SolidObjects::WakeUp

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_objects/wake_up.rb,
sig/generated/lib/solid_objects/wake_up.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWakeUp

Returns a new instance of WakeUp.

RBS:

  • () -> void



9
10
11
12
# File 'lib/solid_objects/wake_up.rb', line 9

def initialize
  @mutex = Mutex.new
  @condition = Thread::ConditionVariable.new
end

Instance Attribute Details

#conditionObject (readonly)

Returns the value of attribute condition.

Returns:

  • (Object)


26
27
28
# File 'lib/solid_objects/wake_up.rb', line 26

def condition
  @condition
end

#mutexObject (readonly)

Returns the value of attribute mutex.

Returns:

  • (Object)


26
27
28
# File 'lib/solid_objects/wake_up.rb', line 26

def mutex
  @mutex
end

Instance Method Details

#signalvoid

This method returns an undefined value.

RBS:

  • () -> void



15
16
17
# File 'lib/solid_objects/wake_up.rb', line 15

def signal
  mutex.synchronize { condition.broadcast }
end

#wait(timeout:) ⇒ void

This method returns an undefined value.

RBS:

  • (timeout: Numeric) -> void

Parameters:

  • timeout: (Numeric)


20
21
22
# File 'lib/solid_objects/wake_up.rb', line 20

def wait(timeout:)
  mutex.synchronize { condition.wait(mutex, timeout) }
end