module H2::Blockable
Public Instance Methods
block!(timeout = nil)
click to toggle source
# File lib/h2.rb, line 106 def block! timeout = nil @mutex.synchronize { @condition.wait @mutex, timeout } if @condition end
init_blocking()
click to toggle source
# File lib/h2.rb, line 101 def init_blocking @mutex = Mutex.new @condition = ConditionVariable.new end
unblock!(remove_condition: true)
click to toggle source
# File lib/h2.rb, line 110 def unblock! remove_condition: true return unless @condition @mutex.synchronize do @condition.broadcast @condition = nil if remove_condition end end