class Moneta::Pool::Reply

@api private

Attributes

resource[R]

Public Class Methods

new(mutex) click to toggle source
# File lib/moneta/pool.rb, line 50
def initialize(mutex)
  @mutex = mutex
  @resource = ::ConditionVariable.new
  @value = nil
end

Public Instance Methods

resolve(value) click to toggle source
# File lib/moneta/pool.rb, line 56
def resolve(value)
  @mutex.synchronize do
    raise "Already resolved" if @value
    @value = value
    @resource.signal
  end
  nil
end
wait() click to toggle source
# File lib/moneta/pool.rb, line 65
def wait
  @resource.wait(@mutex)
  @value
end