Sha256: 50aa30cd2ba7ca9b9b9e8edf7ea69f722d4045cc41e3dc8dec9536b67510f1d4

Contents?: true

Size: 887 Bytes

Versions: 4

Compression:

Stored size: 887 Bytes

Contents

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

module MTLibcouchbase::Ext::MTLibuv
    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], ::MTLibcouchbase::Ext::ErrorT
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mt-libcouchbase-1.4.03 lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb
mt-libcouchbase-1.4.02 lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb
mt-libcouchbase-1.4.01 lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb
mt-libcouchbase-1.4.0 lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb