class FDB::FutureKeyValueArray

Public Instance Methods

wait() click to toggle source
# File lib/fdbimpl.rb, line 458
def wait
  block_until_ready

  kvs = FFI::MemoryPointer.new :pointer
  count = FFI::MemoryPointer.new :int
  more = FFI::MemoryPointer.new :int
  FDBC.check_error FDBC.fdb_future_get_keyvalue_array(@fpointer, kvs, count, more)
  kvs = kvs.read_pointer

  [(0..count.read_int-1).map{|i|
    x = FDBC::KeyValueStruct.new(kvs + (i * FDBC::KeyValueStruct.size))
    KeyValue.new(x[:key].read_bytes(x[:key_length]),
                 x[:value].read_bytes(x[:value_length]))
   }, count.read_int, more.read_int]
end