class FDB::LazyFuture
def initialize(fpointer)
def initialize(fpointer) super(fpointer) @set = false @value = nil end
def method_missing( *args, &block )
def method_missing( *args, &block ) value.__send__( *args, &block ) end
def respond_to?(message)
def respond_to?(message) message = message.to_sym message == :__result__ or message == :to_ptr or value.respond_to? message end
def value
def value if !@set block_until_ready begin getter release_memory rescue Error => e if e.code != 1102 # future_released raise end end @set = true end @value end