class AWS::Flow::Core::ExternalConditionVariable
Wrapper around a ruby {Mutex} and {ConditionVariable} to avoid writing the synchronization lines repeatedly. {ExternalConditionVariable#wait} will block the thread until {ConditionVariable} @cond is signalled
Attributes
cond[R]
mutex[R]
Public Class Methods
new()
click to toggle source
# File lib/aws/flow/future.rb, line 201 def initialize @mutex = Mutex.new @cond = ConditionVariable.new end
Public Instance Methods
method_missing(method, *args)
click to toggle source
Pass all messages to the encapsulated {ConditionVariable}
# File lib/aws/flow/future.rb, line 212 def method_missing(method, *args) @cond.send(method, *args) end
wait(timeout=nil)
click to toggle source
Block the thread till @cond is signalled
# File lib/aws/flow/future.rb, line 207 def wait(timeout=nil) @mutex.synchronize { @cond.wait(@mutex, timeout) } end