Sha256: f8632876f0222dc3a52fd328e3badb98cd77e04ad183227cd0bf9736e25f1f1c

Contents?: true

Size: 879 Bytes

Versions: 8

Compression:

Stored size: 879 Bytes

Contents

# This file contains all the structures required to configure libcouchbase to use
# Libuv as the primary event loop

module Libcouchbase::Ext::Libuv
    extend FFI::Library
    if FFI::Platform.windows?
        ffi_lib ::File.expand_path("../../../../ext/libcouchbase_libuv.dll", __FILE__)
    else
        ffi_lib ::File.expand_path("../../../../ext/libcouchbase/build/lib/libcouchbase_libuv.#{FFI::Platform::LIBSUFFIX}", __FILE__)
    end

    # ref: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.4.8/group__lcb-libuv.html
    class UVOptions < FFI::Struct
        layout :version,        :int,
               :loop,           :pointer,
               :start_stop_noop,:int
    end

    # pointer param returns IO opts structure
    attach_function :create_libuv_io_opts, :lcb_create_libuv_io_opts, [:int, :pointer, UVOptions.by_ref], ::Libcouchbase::Ext::ErrorT
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
libcouchbase-mapo-1.4.1 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.3.2 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.3.0 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.2.8 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.2.7 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.2.6 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.2.5 lib/libcouchbase/ext/libcouchbase_libuv.rb
libcouchbase-1.2.4 lib/libcouchbase/ext/libcouchbase_libuv.rb