libcouchbase 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/.travis.yml +35 -0
- data/Gemfile +4 -0
- data/LICENSE +24 -0
- data/README.md +389 -0
- data/Rakefile +75 -0
- data/ext/README.md +6 -0
- data/ext/Rakefile +20 -0
- data/ext/libcouchbase/.gitignore +130 -0
- data/ext/libcouchbase/.travis.yml +19 -0
- data/ext/libcouchbase/CMakeLists.txt +429 -0
- data/ext/libcouchbase/CONTRIBUTING.md +124 -0
- data/ext/libcouchbase/LICENSE +202 -0
- data/ext/libcouchbase/README.markdown +163 -0
- data/ext/libcouchbase/RELEASE_NOTES.markdown +2691 -0
- data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +27 -0
- data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
- data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
- data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +20 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +52 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +56 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseSnappy.cmake +11 -0
- data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +29 -0
- data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +133 -0
- data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
- data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
- data/ext/libcouchbase/cmake/config-cmake.h.in +60 -0
- data/ext/libcouchbase/cmake/configure +357 -0
- data/ext/libcouchbase/cmake/defs.mk.in +8 -0
- data/ext/libcouchbase/cmake/dtrace-instr-link.pl +38 -0
- data/ext/libcouchbase/cmake/source_files.cmake +73 -0
- data/ext/libcouchbase/configure.pl +1 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.c +624 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
- data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +9 -0
- data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
- data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +217 -0
- data/ext/libcouchbase/contrib/cbsasl/src/client.c +205 -0
- data/ext/libcouchbase/contrib/cbsasl/src/common.c +46 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
- data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
- data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.c +747 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.h +493 -0
- data/ext/libcouchbase/contrib/genhash/genhash.c +372 -0
- data/ext/libcouchbase/contrib/genhash/genhash.h +235 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
- data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
- data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
- data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4892 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
- data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +8 -0
- data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
- data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
- data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +71 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +98 -0
- data/ext/libcouchbase/contrib/snappy/snappy.cc +1307 -0
- data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
- data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
- data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
- data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
- data/ext/libcouchbase/example/CMakeLists.txt +37 -0
- data/ext/libcouchbase/example/README.markdown +47 -0
- data/ext/libcouchbase/example/db/db.c +167 -0
- data/ext/libcouchbase/example/db/vb.c +227 -0
- data/ext/libcouchbase/example/instancepool/main.cc +102 -0
- data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
- data/ext/libcouchbase/example/instancepool/pool.h +69 -0
- data/ext/libcouchbase/example/libeventdirect/main.c +148 -0
- data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
- data/ext/libcouchbase/example/minimal/minimal.c +130 -0
- data/ext/libcouchbase/example/observe/observe.c +146 -0
- data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +132 -0
- data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +191 -0
- data/ext/libcouchbase/example/tick/tick.c +119 -0
- data/ext/libcouchbase/example/views/views-example.cc +83 -0
- data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
- data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
- data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
- data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
- data/ext/libcouchbase/include/libcouchbase/cbft.h +109 -0
- data/ext/libcouchbase/include/libcouchbase/cntl-private.h +356 -0
- data/ext/libcouchbase/include/libcouchbase/cntl.h +937 -0
- data/ext/libcouchbase/include/libcouchbase/configuration.h.in +23 -0
- data/ext/libcouchbase/include/libcouchbase/couchbase.h +3677 -0
- data/ext/libcouchbase/include/libcouchbase/deprecated.h +300 -0
- data/ext/libcouchbase/include/libcouchbase/error.h +595 -0
- data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
- data/ext/libcouchbase/include/libcouchbase/iops.h +1050 -0
- data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
- data/ext/libcouchbase/include/libcouchbase/kvbuf.h +132 -0
- data/ext/libcouchbase/include/libcouchbase/n1ql.h +364 -0
- data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +367 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
- data/ext/libcouchbase/include/libcouchbase/subdoc.h +312 -0
- data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
- data/ext/libcouchbase/include/libcouchbase/vbucket.h +643 -0
- data/ext/libcouchbase/include/libcouchbase/views.h +298 -0
- data/ext/libcouchbase/include/libcouchbase/visibility.h +65 -0
- data/ext/libcouchbase/include/memcached/COPYING +30 -0
- data/ext/libcouchbase/include/memcached/README +10 -0
- data/ext/libcouchbase/include/memcached/protocol_binary.h +1916 -0
- data/ext/libcouchbase/include/memcached/vbucket.h +42 -0
- data/ext/libcouchbase/packaging/README +7 -0
- data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
- data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
- data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
- data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
- data/ext/libcouchbase/packaging/deb/compat +1 -0
- data/ext/libcouchbase/packaging/deb/control +73 -0
- data/ext/libcouchbase/packaging/deb/copyright +10 -0
- data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
- data/ext/libcouchbase/packaging/deb/package.mk +31 -0
- data/ext/libcouchbase/packaging/deb/rules +46 -0
- data/ext/libcouchbase/packaging/deb/source/format +1 -0
- data/ext/libcouchbase/packaging/distinfo/README +1 -0
- data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
- data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
- data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
- data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
- data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
- data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +108 -0
- data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
- data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +466 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
- data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +29 -0
- data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +65 -0
- data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
- data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +29 -0
- data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
- data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
- data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +42 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +212 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +148 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +648 -0
- data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +11 -0
- data/ext/libcouchbase/plugins/io/select/plugin-select.c +448 -0
- data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
- data/ext/libcouchbase/src/README.md +103 -0
- data/ext/libcouchbase/src/aspend.h +106 -0
- data/ext/libcouchbase/src/auth.cc +74 -0
- data/ext/libcouchbase/src/auth.h +54 -0
- data/ext/libcouchbase/src/bootstrap.c +269 -0
- data/ext/libcouchbase/src/bootstrap.h +129 -0
- data/ext/libcouchbase/src/bucketconfig/bc_cccp.c +495 -0
- data/ext/libcouchbase/src/bucketconfig/bc_file.c +347 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.c +630 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.h +82 -0
- data/ext/libcouchbase/src/bucketconfig/bc_mcraw.c +150 -0
- data/ext/libcouchbase/src/bucketconfig/clconfig.h +681 -0
- data/ext/libcouchbase/src/bucketconfig/confmon.c +474 -0
- data/ext/libcouchbase/src/callbacks.c +378 -0
- data/ext/libcouchbase/src/cbft.cc +210 -0
- data/ext/libcouchbase/src/cntl.cc +847 -0
- data/ext/libcouchbase/src/config_static.h +159 -0
- data/ext/libcouchbase/src/connspec.cc +462 -0
- data/ext/libcouchbase/src/connspec.h +105 -0
- data/ext/libcouchbase/src/ctx-log-inl.h +27 -0
- data/ext/libcouchbase/src/dump.c +98 -0
- data/ext/libcouchbase/src/getconfig.c +100 -0
- data/ext/libcouchbase/src/gethrtime.c +109 -0
- data/ext/libcouchbase/src/handler.c +922 -0
- data/ext/libcouchbase/src/hashset.c +164 -0
- data/ext/libcouchbase/src/hashset.h +86 -0
- data/ext/libcouchbase/src/hashtable.c +75 -0
- data/ext/libcouchbase/src/hdr_timings.c +92 -0
- data/ext/libcouchbase/src/hostlist.cc +301 -0
- data/ext/libcouchbase/src/hostlist.h +171 -0
- data/ext/libcouchbase/src/http/http-priv.h +307 -0
- data/ext/libcouchbase/src/http/http.cc +633 -0
- data/ext/libcouchbase/src/http/http.h +34 -0
- data/ext/libcouchbase/src/http/http_io.cc +307 -0
- data/ext/libcouchbase/src/instance.cc +722 -0
- data/ext/libcouchbase/src/internal.h +244 -0
- data/ext/libcouchbase/src/iofactory.c +575 -0
- data/ext/libcouchbase/src/jsparse/parser.cc +519 -0
- data/ext/libcouchbase/src/jsparse/parser.h +173 -0
- data/ext/libcouchbase/src/lcbht/lcbht.c +282 -0
- data/ext/libcouchbase/src/lcbht/lcbht.h +199 -0
- data/ext/libcouchbase/src/lcbio/connect.c +557 -0
- data/ext/libcouchbase/src/lcbio/connect.h +364 -0
- data/ext/libcouchbase/src/lcbio/ctx.c +611 -0
- data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
- data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
- data/ext/libcouchbase/src/lcbio/iotable.h +84 -0
- data/ext/libcouchbase/src/lcbio/ioutils.c +350 -0
- data/ext/libcouchbase/src/lcbio/ioutils.h +203 -0
- data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
- data/ext/libcouchbase/src/lcbio/manager.c +584 -0
- data/ext/libcouchbase/src/lcbio/manager.h +156 -0
- data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
- data/ext/libcouchbase/src/lcbio/rw-inl.h +115 -0
- data/ext/libcouchbase/src/lcbio/ssl.h +149 -0
- data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
- data/ext/libcouchbase/src/lcbio/timer.c +132 -0
- data/ext/libcouchbase/src/legacy.c +430 -0
- data/ext/libcouchbase/src/list.c +144 -0
- data/ext/libcouchbase/src/list.h +127 -0
- data/ext/libcouchbase/src/logging.c +244 -0
- data/ext/libcouchbase/src/logging.h +86 -0
- data/ext/libcouchbase/src/mc/compress.c +90 -0
- data/ext/libcouchbase/src/mc/compress.h +61 -0
- data/ext/libcouchbase/src/mc/forward.c +186 -0
- data/ext/libcouchbase/src/mc/forward.h +90 -0
- data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
- data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
- data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +111 -0
- data/ext/libcouchbase/src/mc/mcreq.c +954 -0
- data/ext/libcouchbase/src/mc/mcreq.h +977 -0
- data/ext/libcouchbase/src/mcserver/mcserver.c +784 -0
- data/ext/libcouchbase/src/mcserver/mcserver.h +121 -0
- data/ext/libcouchbase/src/mcserver/negotiate.c +656 -0
- data/ext/libcouchbase/src/mcserver/negotiate.h +119 -0
- data/ext/libcouchbase/src/n1ql/ixmgmt.cc +860 -0
- data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
- data/ext/libcouchbase/src/n1ql/n1ql.cc +729 -0
- data/ext/libcouchbase/src/n1ql/params.cc +215 -0
- data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
- data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
- data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
- data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
- data/ext/libcouchbase/src/newconfig.c +385 -0
- data/ext/libcouchbase/src/nodeinfo.cc +194 -0
- data/ext/libcouchbase/src/operations/cbflush.c +71 -0
- data/ext/libcouchbase/src/operations/counter.c +116 -0
- data/ext/libcouchbase/src/operations/durability-cas.c +224 -0
- data/ext/libcouchbase/src/operations/durability-seqno.c +157 -0
- data/ext/libcouchbase/src/operations/durability.c +668 -0
- data/ext/libcouchbase/src/operations/durability_internal.h +199 -0
- data/ext/libcouchbase/src/operations/get.c +409 -0
- data/ext/libcouchbase/src/operations/observe-seqno.c +96 -0
- data/ext/libcouchbase/src/operations/observe.c +340 -0
- data/ext/libcouchbase/src/operations/pktfwd.c +86 -0
- data/ext/libcouchbase/src/operations/remove.c +83 -0
- data/ext/libcouchbase/src/operations/stats.c +461 -0
- data/ext/libcouchbase/src/operations/store.c +360 -0
- data/ext/libcouchbase/src/operations/subdoc.cc +510 -0
- data/ext/libcouchbase/src/operations/touch.c +81 -0
- data/ext/libcouchbase/src/packetutils.c +60 -0
- data/ext/libcouchbase/src/packetutils.h +147 -0
- data/ext/libcouchbase/src/probes.d +211 -0
- data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
- data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
- data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
- data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
- data/ext/libcouchbase/src/rdb/rope.c +419 -0
- data/ext/libcouchbase/src/rdb/rope.h +488 -0
- data/ext/libcouchbase/src/retrychk.c +113 -0
- data/ext/libcouchbase/src/retryq.c +424 -0
- data/ext/libcouchbase/src/retryq.h +157 -0
- data/ext/libcouchbase/src/ringbuffer.c +442 -0
- data/ext/libcouchbase/src/ringbuffer.h +100 -0
- data/ext/libcouchbase/src/settings.c +95 -0
- data/ext/libcouchbase/src/settings.h +188 -0
- data/ext/libcouchbase/src/simplestring.c +211 -0
- data/ext/libcouchbase/src/simplestring.h +228 -0
- data/ext/libcouchbase/src/sllist-inl.h +197 -0
- data/ext/libcouchbase/src/sllist.h +76 -0
- data/ext/libcouchbase/src/ssl/CMakeLists.txt +23 -0
- data/ext/libcouchbase/src/ssl/ssl_c.c +415 -0
- data/ext/libcouchbase/src/ssl/ssl_common.c +454 -0
- data/ext/libcouchbase/src/ssl/ssl_e.c +408 -0
- data/ext/libcouchbase/src/ssl/ssl_iot_common.h +180 -0
- data/ext/libcouchbase/src/ssobuf.h +82 -0
- data/ext/libcouchbase/src/strcodecs/base64.c +123 -0
- data/ext/libcouchbase/src/strcodecs/strcodecs.h +285 -0
- data/ext/libcouchbase/src/timings.c +208 -0
- data/ext/libcouchbase/src/trace.h +105 -0
- data/ext/libcouchbase/src/utilities.c +171 -0
- data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
- data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
- data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
- data/ext/libcouchbase/src/vbucket/hash.h +30 -0
- data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
- data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
- data/ext/libcouchbase/src/vbucket/vbucket.c +1543 -0
- data/ext/libcouchbase/src/views/docreq.c +194 -0
- data/ext/libcouchbase/src/views/docreq.h +83 -0
- data/ext/libcouchbase/src/views/viewreq.c +358 -0
- data/ext/libcouchbase/src/views/viewreq.h +36 -0
- data/ext/libcouchbase/src/wait.c +161 -0
- data/ext/libcouchbase/tests/CMakeLists.txt +140 -0
- data/ext/libcouchbase/tests/basic/t_base64.cc +81 -0
- data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
- data/ext/libcouchbase/tests/basic/t_connstr.cc +404 -0
- data/ext/libcouchbase/tests/basic/t_creds.cc +32 -0
- data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
- data/ext/libcouchbase/tests/basic/t_hashset.cc +262 -0
- data/ext/libcouchbase/tests/basic/t_host.cc +198 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.cc +137 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
- data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
- data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
- data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
- data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +18 -0
- data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
- data/ext/libcouchbase/tests/basic/t_packet.cc +222 -0
- data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
- data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
- data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
- data/ext/libcouchbase/tests/basic/t_string.cc +112 -0
- data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
- data/ext/libcouchbase/tests/check-all.cc +608 -0
- data/ext/libcouchbase/tests/htparse/t_basic.cc +193 -0
- data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
- data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.cc +104 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
- data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
- data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
- data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
- data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
- data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.cc +524 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.h +385 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
- data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
- data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
- data/ext/libcouchbase/tests/iotests/t_behavior.cc +226 -0
- data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
- data/ext/libcouchbase/tests/iotests/t_confmon.cc +241 -0
- data/ext/libcouchbase/tests/iotests/t_durability.cc +1059 -0
- data/ext/libcouchbase/tests/iotests/t_forward.cc +110 -0
- data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
- data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
- data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
- data/ext/libcouchbase/tests/iotests/t_lock.cc +275 -0
- data/ext/libcouchbase/tests/iotests/t_misc.cc +713 -0
- data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
- data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
- data/ext/libcouchbase/tests/iotests/t_netfail.cc +654 -0
- data/ext/libcouchbase/tests/iotests/t_obseqno.cc +157 -0
- data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
- data/ext/libcouchbase/tests/iotests/t_sched.cc +88 -0
- data/ext/libcouchbase/tests/iotests/t_serverops.cc +230 -0
- data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
- data/ext/libcouchbase/tests/iotests/t_subdoc.cc +822 -0
- data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
- data/ext/libcouchbase/tests/iotests/t_views.cc +405 -0
- data/ext/libcouchbase/tests/iotests/testutil.cc +250 -0
- data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
- data/ext/libcouchbase/tests/mc/mctest.h +119 -0
- data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
- data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
- data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
- data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
- data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
- data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
- data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
- data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
- data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
- data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
- data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
- data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
- data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
- data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
- data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
- data/ext/libcouchbase/tests/socktests/socktest.cc +347 -0
- data/ext/libcouchbase/tests/socktests/socktest.h +448 -0
- data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
- data/ext/libcouchbase/tests/socktests/t_manager.cc +179 -0
- data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
- data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
- data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
- data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
- data/ext/libcouchbase/tests/start_mock.bat +15 -0
- data/ext/libcouchbase/tests/start_mock.sh +42 -0
- data/ext/libcouchbase/tests/unit_tests.cc +43 -0
- data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
- data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/t_config.cc +341 -0
- data/ext/libcouchbase/tools/CMakeLists.txt +51 -0
- data/ext/libcouchbase/tools/cbc-handlers.h +462 -0
- data/ext/libcouchbase/tools/cbc-n1qlback.cc +439 -0
- data/ext/libcouchbase/tools/cbc-pillowfight.cc +822 -0
- data/ext/libcouchbase/tools/cbc.cc +1541 -0
- data/ext/libcouchbase/tools/common/histogram.cc +43 -0
- data/ext/libcouchbase/tools/common/histogram.h +23 -0
- data/ext/libcouchbase/tools/common/my_inttypes.h +22 -0
- data/ext/libcouchbase/tools/common/options.cc +420 -0
- data/ext/libcouchbase/tools/common/options.h +81 -0
- data/ext/libcouchbase/tools/docgen/docgen.h +469 -0
- data/ext/libcouchbase/tools/docgen/loc.h +210 -0
- data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
- data/ext/libcouchbase/tools/docgen/seqgen.h +94 -0
- data/lib/libcouchbase.rb +36 -0
- data/lib/libcouchbase/bucket.rb +819 -0
- data/lib/libcouchbase/callbacks.rb +72 -0
- data/lib/libcouchbase/connection.rb +790 -0
- data/lib/libcouchbase/design_docs.rb +86 -0
- data/lib/libcouchbase/error.rb +68 -0
- data/lib/libcouchbase/ext/libcouchbase.rb +1135 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdbase.rb +23 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdcounter.rb +36 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdendure.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdfts.rb +24 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdget.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdgetreplica.rb +49 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdhttp.rb +58 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdn1ql.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdobseqno.rb +33 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdobserve.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdstore.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdstoredur.rb +45 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdsubdoc.rb +49 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdverbosity.rb +29 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdviewquery.rb +61 -0
- data/lib/libcouchbase/ext/libcouchbase/contigbuf.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st.rb +15 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st0.rb +23 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st1.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st2.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st3.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/crst_u.rb +20 -0
- data/lib/libcouchbase/ext/libcouchbase/durability_opts_st_v.rb +11 -0
- data/lib/libcouchbase/ext/libcouchbase/durability_opts_t.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/durabilityopt_sv0.rb +63 -0
- data/lib/libcouchbase/ext/libcouchbase/enums.rb +991 -0
- data/lib/libcouchbase/ext/libcouchbase/fragbuf.rb +18 -0
- data/lib/libcouchbase/ext/libcouchbase/ftshandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/histogram.rb +34 -0
- data/lib/libcouchbase/ext/libcouchbase/http_request_t.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/keybuf.rb +20 -0
- data/lib/libcouchbase/ext/libcouchbase/multicmd_ctx.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/mutation_token.rb +17 -0
- data/lib/libcouchbase/ext/libcouchbase/n1qlhandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/n1qlparams.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/respbase.rb +29 -0
- data/lib/libcouchbase/ext/libcouchbase/respcounter.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respendure.rb +49 -0
- data/lib/libcouchbase/ext/libcouchbase/respfts.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/respget.rb +44 -0
- data/lib/libcouchbase/ext/libcouchbase/resphttp.rb +48 -0
- data/lib/libcouchbase/ext/libcouchbase/respmcversion.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respn1ql.rb +41 -0
- data/lib/libcouchbase/ext/libcouchbase/respobseqno.rb +52 -0
- data/lib/libcouchbase/ext/libcouchbase/respobserve.rb +41 -0
- data/lib/libcouchbase/ext/libcouchbase/respserverbase.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respstats.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respstore.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respstoredur.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respsubdoc.rb +35 -0
- data/lib/libcouchbase/ext/libcouchbase/respviewquery.rb +67 -0
- data/lib/libcouchbase/ext/libcouchbase/sdentry.rb +22 -0
- data/lib/libcouchbase/ext/libcouchbase/sdspec.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/t.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/valbuf.rb +22 -0
- data/lib/libcouchbase/ext/libcouchbase/valbuf_u_buf.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/viewhandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase_iocp.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase_libuv.rb +18 -0
- data/lib/libcouchbase/ext/tasks.rb +87 -0
- data/lib/libcouchbase/n1ql.rb +73 -0
- data/lib/libcouchbase/query_full_text.rb +147 -0
- data/lib/libcouchbase/query_n1ql.rb +121 -0
- data/lib/libcouchbase/query_view.rb +129 -0
- data/lib/libcouchbase/results_fiber.rb +262 -0
- data/lib/libcouchbase/results_native.rb +211 -0
- data/lib/libcouchbase/version.rb +5 -0
- data/libcouchbase.gemspec +61 -0
- data/spec/bucket_spec.rb +270 -0
- data/spec/connection_spec.rb +277 -0
- data/spec/design_docs_spec.rb +23 -0
- data/spec/error_spec.rb +26 -0
- data/spec/fts_spec.rb +129 -0
- data/spec/n1ql_spec.rb +201 -0
- data/spec/results_libuv_spec.rb +229 -0
- data/spec/results_native_spec.rb +259 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
- data/spec/view_spec.rb +195 -0
- metadata +775 -0
|
@@ -0,0 +1,937 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2013 Couchbase, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @file
|
|
21
|
+
* @brief Command codes for libcouchbase.
|
|
22
|
+
*
|
|
23
|
+
* @details
|
|
24
|
+
* These codes may be passed to 'lcb_cntl'.
|
|
25
|
+
*
|
|
26
|
+
* Note that the constant values are also public API; thus allowing forwards
|
|
27
|
+
* and backwards compatibility.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#ifndef LCB_CNTL_H
|
|
31
|
+
#define LCB_CNTL_H
|
|
32
|
+
|
|
33
|
+
#ifdef __cplusplus
|
|
34
|
+
extern "C" {
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @ingroup lcb-cntl
|
|
40
|
+
* @defgroup lcb-cntl-settings Setting List
|
|
41
|
+
* @brief Adjust tunables for the client
|
|
42
|
+
* @details
|
|
43
|
+
*
|
|
44
|
+
* The constants in this file are used to control the behavior of the library.
|
|
45
|
+
* All of the operations above may be passed as the `cmd` parameter to the
|
|
46
|
+
* lcb_cntl() function, thus:
|
|
47
|
+
*
|
|
48
|
+
* @code{.c}
|
|
49
|
+
* char something;
|
|
50
|
+
* lcb_error_t rv;
|
|
51
|
+
* rv = lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_FOO, &something);
|
|
52
|
+
* @endcode
|
|
53
|
+
*
|
|
54
|
+
* will retrieve the setting of `LCB_CNTL_FOO` into `something`.
|
|
55
|
+
*
|
|
56
|
+
* You may also use the lcb_cntl_string() function, which operates on
|
|
57
|
+
* strings and can set various configuration properties fairly simply. Note
|
|
58
|
+
* however that string names are subject to change, and not all configuration
|
|
59
|
+
* directives have a string alias:
|
|
60
|
+
*
|
|
61
|
+
* @code{.c}
|
|
62
|
+
* rv = lcb_cntl_string("operation_timeout", "5.0");
|
|
63
|
+
* @endcode
|
|
64
|
+
*
|
|
65
|
+
* Of the commands listed below, some will be read-only (i.e. you may only
|
|
66
|
+
* _read_ the setting using the @ref LCB_CNTL_GET `mode`), some will be write-only
|
|
67
|
+
* (i.e. you may only _modify_ the setting, and use @ref LCB_CNTL_SET for the `mode`)
|
|
68
|
+
* and some will be both readable and writable.
|
|
69
|
+
*
|
|
70
|
+
* Along the documentation of each specific command, there is a table displaying
|
|
71
|
+
* the modes supported and the expected pointer type to be passed as the `arg`
|
|
72
|
+
* value into lcb_cntl(). Note that some read-write commands require different
|
|
73
|
+
* pointer types depending on whether the `mode` is retrieval or storage.
|
|
74
|
+
*
|
|
75
|
+
*
|
|
76
|
+
* @section lcb-timeout-info Timeout Settings
|
|
77
|
+
*
|
|
78
|
+
* Timeout settings control how long the library will wait for a certain event
|
|
79
|
+
* before proceeding to the next course of action (which may either be to try
|
|
80
|
+
* a different operation or fail the current one, depending on the specific
|
|
81
|
+
* timeout).
|
|
82
|
+
*
|
|
83
|
+
* Timeouts are specified in _microseconds_ stored within an `lcb_U32`.
|
|
84
|
+
*
|
|
85
|
+
* Note that timeouts in libcouchbase are implemented via an event loop
|
|
86
|
+
* scheduler. As such their accuracy and promptness is limited by how
|
|
87
|
+
* often the event loop is invoked and how much wall time is spent in
|
|
88
|
+
* each of their handlers. Specifically if you issue long running blocking
|
|
89
|
+
* calls within any of the handlers (and this means any of the library's
|
|
90
|
+
* callbacks) then the timeout accuracy will be impacted.
|
|
91
|
+
*
|
|
92
|
+
* Further behavior is dependent on the event loop plugin itself and how
|
|
93
|
+
* it schedules timeouts.
|
|
94
|
+
*
|
|
95
|
+
*
|
|
96
|
+
* @par Configuration Stability Attributes
|
|
97
|
+
* Configuration parameters are still subject to the API classification used
|
|
98
|
+
* in @ref lcb_attributes. For _deprecated_ control commands, lcb_cntl() will
|
|
99
|
+
* either perform the operation, _or_ consider it a no-op, _or_ return an error
|
|
100
|
+
* code.
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @addtogroup lcb-cntl-settings
|
|
105
|
+
* @{
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @name Modes
|
|
110
|
+
* Modes for the lcb_cntl() `mode` argument
|
|
111
|
+
* @{
|
|
112
|
+
*/
|
|
113
|
+
#define LCB_CNTL_SET 0x01 /**< @brief Modify a setting */
|
|
114
|
+
#define LCB_CNTL_GET 0x00 /**< @brief Retrieve a setting */
|
|
115
|
+
/**@}*/
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* @brief Operation Timeout
|
|
119
|
+
*
|
|
120
|
+
* The operation timeout is the maximum amount of time the library will wait
|
|
121
|
+
* for an operation to receive a response before invoking its callback with
|
|
122
|
+
* a failure status.
|
|
123
|
+
*
|
|
124
|
+
* An operation may timeout if:
|
|
125
|
+
*
|
|
126
|
+
* * A server is taking too long to respond
|
|
127
|
+
* * An updated cluster configuration has not been promptly received
|
|
128
|
+
*
|
|
129
|
+
* @code{.c}
|
|
130
|
+
* lcb_U32 tmo = 3500000;
|
|
131
|
+
* lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_OP_TIMEOUT, &tmo);
|
|
132
|
+
* @endcode
|
|
133
|
+
*
|
|
134
|
+
* @cntl_arg_both{lcbU32*}
|
|
135
|
+
* @committed
|
|
136
|
+
* @see lcb-timeout-info
|
|
137
|
+
*/
|
|
138
|
+
#define LCB_CNTL_OP_TIMEOUT 0x00
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @brief Views Timeout
|
|
142
|
+
* This is the I/O timeout for HTTP requests issues with LCB_HTTP_TYPE_VIEWS
|
|
143
|
+
*
|
|
144
|
+
* @cntl_arg_both{lcb_U32*}
|
|
145
|
+
* @committed
|
|
146
|
+
*/
|
|
147
|
+
#define LCB_CNTL_VIEW_TIMEOUT 0x01
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* @brief N1QL Timeout
|
|
151
|
+
* This is the I/O timeout for N1QL queries, issued via lcb_n1ql_query()
|
|
152
|
+
*
|
|
153
|
+
* @cntl_arg_both{lcb_U32*}
|
|
154
|
+
* @committed
|
|
155
|
+
*/
|
|
156
|
+
#define LCB_CNTL_N1QL_TIMEOUT 0x3D
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @brief Get the name of the bucket
|
|
160
|
+
* This returns the name of the bucket this instance is connected to, or `NULL`
|
|
161
|
+
* if not yet connected to a bucket
|
|
162
|
+
*
|
|
163
|
+
* @cntl_arg_getonly{`const char*`}
|
|
164
|
+
* @committed
|
|
165
|
+
*/
|
|
166
|
+
#define LCB_CNTL_BUCKETNAME 0x30
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* @brief Get the handle type.
|
|
170
|
+
* This returns the handle type - which is either LCB_TYPE_CLUSTER or
|
|
171
|
+
* LCB_TYPE_BUCKET
|
|
172
|
+
*
|
|
173
|
+
* @cntl_arg_getonly{lcb_type_t*}
|
|
174
|
+
* @uncommitted
|
|
175
|
+
*/
|
|
176
|
+
#define LCB_CNTL_HANDLETYPE 0x04
|
|
177
|
+
|
|
178
|
+
/**@brief Get the vBucket handle.
|
|
179
|
+
* Obtains the current cluster configuration from the client.
|
|
180
|
+
*
|
|
181
|
+
* @cntl_arg_getonly{lcbvb_CONFIG**}
|
|
182
|
+
* @uncommitted
|
|
183
|
+
*/
|
|
184
|
+
#define LCB_CNTL_VBCONFIG 0x05
|
|
185
|
+
|
|
186
|
+
/**@brief Get the iops implementation instance
|
|
187
|
+
*
|
|
188
|
+
* @cntl_arg_getonly{lcb_io_opt_t*}
|
|
189
|
+
* @uncommitted
|
|
190
|
+
*/
|
|
191
|
+
#define LCB_CNTL_IOPS 0x06
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
/** @brief Structure containing mapping information for a key */
|
|
195
|
+
typedef struct lcb_cntl_vbinfo_st {
|
|
196
|
+
int version;
|
|
197
|
+
|
|
198
|
+
union {
|
|
199
|
+
/** v0 */
|
|
200
|
+
struct {
|
|
201
|
+
const void *key; /**< **Input** Key */
|
|
202
|
+
lcb_SIZE nkey; /**< **Input** Length of key */
|
|
203
|
+
int vbucket; /**< **Output** Mapped vBucket */
|
|
204
|
+
int server_index; /**< **Output** Server index for vBucket */
|
|
205
|
+
} v0;
|
|
206
|
+
} v;
|
|
207
|
+
} lcb_cntl_vbinfo_t;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @brief Get the vBucket ID for a given key, based on the current configuration
|
|
211
|
+
*
|
|
212
|
+
* @cntl_arg_getonly{lcb_cntl_vbinfo_t*}
|
|
213
|
+
* @committed
|
|
214
|
+
*/
|
|
215
|
+
#define LCB_CNTL_VBMAP 0x07
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @brief Configuration error threshold.
|
|
219
|
+
*
|
|
220
|
+
* This number indicates how many
|
|
221
|
+
* network/mapping/not-my-vbucket errors are received before a configuration
|
|
222
|
+
* update is requested again.
|
|
223
|
+
*
|
|
224
|
+
* @cntl_arg_both{lcb_SIZE*}
|
|
225
|
+
* @uncommitted
|
|
226
|
+
*/
|
|
227
|
+
#define LCB_CNTL_CONFERRTHRESH 0x0c
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* @brief Default timeout for lcb_durability_poll()
|
|
231
|
+
* @ingroup lcb-timeout-info
|
|
232
|
+
*
|
|
233
|
+
* This is the time the client will
|
|
234
|
+
* spend sending repeated probes to a given key's vBucket masters and replicas
|
|
235
|
+
* before they are deemed not to have satisfied the durability requirements
|
|
236
|
+
*
|
|
237
|
+
* @cntl_arg_both{lcb_U32*}
|
|
238
|
+
* @committed
|
|
239
|
+
*/
|
|
240
|
+
#define LCB_CNTL_DURABILITY_TIMEOUT 0x0d
|
|
241
|
+
|
|
242
|
+
/**@brief Polling grace interval for lcb_durability_poll()
|
|
243
|
+
*
|
|
244
|
+
* This is the time the client will wait between repeated probes to
|
|
245
|
+
* a given server.
|
|
246
|
+
*
|
|
247
|
+
* @cntl_arg_both{lcb_U32*}
|
|
248
|
+
* @committed*/
|
|
249
|
+
#define LCB_CNTL_DURABILITY_INTERVAL 0x0e
|
|
250
|
+
|
|
251
|
+
/**@brief Timeout for non-views HTTP requests
|
|
252
|
+
* @cntl_arg_both{lcb_U32*}
|
|
253
|
+
* @committed*/
|
|
254
|
+
#define LCB_CNTL_HTTP_TIMEOUT 0x0f
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* @brief Print verbose plugin load information to console
|
|
258
|
+
*
|
|
259
|
+
* This modifies a static, global setting regarding whether to
|
|
260
|
+
* print verbose information when trying to dynamically load an IO plugin.
|
|
261
|
+
* The information printed can be useful in determining why a plugin failed
|
|
262
|
+
* to load. This setting can also be controlled via the
|
|
263
|
+
* "LIBCOUCHBASE_DLOPEN_DEBUG" environment variable (and if enabled from the
|
|
264
|
+
* environment, will override the setting mentioned here).
|
|
265
|
+
*
|
|
266
|
+
* @cntl_arg_both{int*}
|
|
267
|
+
*
|
|
268
|
+
* @note Pass NULL to lcb_cntl for the 'instance' parameter.
|
|
269
|
+
* @volatile
|
|
270
|
+
*/
|
|
271
|
+
#define LCB_CNTL_IOPS_DLOPEN_DEBUG 0x11
|
|
272
|
+
|
|
273
|
+
/**@brief Initial bootstrap timeout.
|
|
274
|
+
* This is how long the client will wait to obtain the initial configuration.
|
|
275
|
+
*
|
|
276
|
+
* @cntl_arg_both{lcb_U32*}
|
|
277
|
+
* @committed*/
|
|
278
|
+
#define LCB_CNTL_CONFIGURATION_TIMEOUT 0x12
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* @brief Randomize order of bootstrap nodes.
|
|
282
|
+
*
|
|
283
|
+
* This controls whether the connection attempts for configuration retrievals
|
|
284
|
+
* should be done in the supplied order or whether they should be randomized.
|
|
285
|
+
*
|
|
286
|
+
* For the initial connection the supplied order is the list of hosts provided
|
|
287
|
+
* in the lcb_create_st structure. For subsequent connections this is the
|
|
288
|
+
* order of nodes as received by the server.
|
|
289
|
+
*
|
|
290
|
+
* @cntl_arg_both{int*}
|
|
291
|
+
* @committed
|
|
292
|
+
*/
|
|
293
|
+
#define LCB_CNTL_RANDOMIZE_BOOTSTRAP_HOSTS 0x14
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* @brief Determine if file-based configuration has been loaded
|
|
297
|
+
*
|
|
298
|
+
* If the configuration cache is in use, the argument pointer
|
|
299
|
+
* will be set to a true value. If the configuration cache was not used,
|
|
300
|
+
* the argument pointer will be set to false.
|
|
301
|
+
*
|
|
302
|
+
* A false value may indicates that the client will need to load the
|
|
303
|
+
* configuration from the network. This may be caused by the following:
|
|
304
|
+
* - The configuration cache did not exist or was empty
|
|
305
|
+
* - The configuration cache contained stale information
|
|
306
|
+
*
|
|
307
|
+
* @cntl_arg_getonly{int*}
|
|
308
|
+
* @uncommitted
|
|
309
|
+
*/
|
|
310
|
+
#define LCB_CNTL_CONFIG_CACHE_LOADED 0x15
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* @brief Force a specific SASL mechanism
|
|
314
|
+
*
|
|
315
|
+
* Force a specific SASL mechanism to use for authentication. This
|
|
316
|
+
* can allow a user to ensure a certain level of security and have the
|
|
317
|
+
* connection fail if the desired mechanism is not available.
|
|
318
|
+
*
|
|
319
|
+
* When setting this value, the arg parameter shall be a
|
|
320
|
+
* `NUL`-terminated string or a `NULL` pointer (to unset). When retrieving
|
|
321
|
+
* this value, the parameter shall be set to a `char **`. Note that this
|
|
322
|
+
* value (in LCB_CNTL_GET) is valid only until the next call to a
|
|
323
|
+
* libcouchbase API, after which it may have been freed.
|
|
324
|
+
*
|
|
325
|
+
* @cntl_arg_get_and_set{char**, char*}
|
|
326
|
+
* @uncommitted
|
|
327
|
+
*/
|
|
328
|
+
#define LCB_CNTL_FORCE_SASL_MECH 0x16
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* @brief Maximum number of HTTP redirects to follow
|
|
332
|
+
* Set how many redirects the library should follow for the single request.
|
|
333
|
+
* Set to -1 to remove limit at all.
|
|
334
|
+
*
|
|
335
|
+
* @cntl_arg_both{int*}
|
|
336
|
+
* @uncommitted
|
|
337
|
+
*/
|
|
338
|
+
#define LCB_CNTL_MAX_REDIRECTS 0x17
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* @name Logging
|
|
342
|
+
*
|
|
343
|
+
* Verbose logging may be enabled by default using the environment variable
|
|
344
|
+
* `LCB_LOGLEVEL` and setting it to a number > 1; higher values produce more
|
|
345
|
+
* verbose output. The maximum level is `5`.
|
|
346
|
+
*
|
|
347
|
+
* You may also install your own logger using lcb_cntl() and the
|
|
348
|
+
* @ref LCB_CNTL_LOGGER constant. Note that
|
|
349
|
+
* the logger functions will not be called rapidly from within hot paths.
|
|
350
|
+
* @{
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
/** @brief Logging Levels */
|
|
354
|
+
typedef enum { LCB_LOG_TRACE = 0, LCB_LOG_DEBUG, LCB_LOG_INFO, LCB_LOG_WARN,
|
|
355
|
+
LCB_LOG_ERROR, LCB_LOG_FATAL, LCB_LOG_MAX
|
|
356
|
+
} lcb_log_severity_t;
|
|
357
|
+
|
|
358
|
+
struct lcb_logprocs_st;
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* @brief Logger callback
|
|
362
|
+
*
|
|
363
|
+
* @uncommitted
|
|
364
|
+
*
|
|
365
|
+
* This callback is invoked for each logging message emitted
|
|
366
|
+
* @param procs the logging structure provided
|
|
367
|
+
* @param iid instance id
|
|
368
|
+
* @param subsys a string describing the module which emitted the message
|
|
369
|
+
* @param severity one of the LCB_LOG_* severity constants.
|
|
370
|
+
* @param srcfile the source file which emitted this message
|
|
371
|
+
* @param srcline the line of the file for the message
|
|
372
|
+
* @param fmt a printf format string
|
|
373
|
+
* @param ap a va_list for vprintf
|
|
374
|
+
*/
|
|
375
|
+
typedef void (*lcb_logging_callback)(struct lcb_logprocs_st *procs,
|
|
376
|
+
unsigned int iid, const char *subsys, int severity, const char *srcfile,
|
|
377
|
+
int srcline, const char *fmt, va_list ap);
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* @brief Logging context
|
|
381
|
+
* @uncommitted
|
|
382
|
+
*
|
|
383
|
+
* This structure defines the logging handlers. Currently there is only
|
|
384
|
+
* a single field defined which is the default callback for the loggers.
|
|
385
|
+
* This API may change.
|
|
386
|
+
*/
|
|
387
|
+
typedef struct lcb_logprocs_st {
|
|
388
|
+
int version;
|
|
389
|
+
union { struct { lcb_logging_callback callback; } v0; } v;
|
|
390
|
+
} lcb_logprocs;
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* @brief Access the lcb_logprocs structure
|
|
394
|
+
* @uncommitted
|
|
395
|
+
*
|
|
396
|
+
* The lcb_logoprocs structure passed must not be freed until the instance
|
|
397
|
+
* is completely destroyed. This will only happen once the destruction
|
|
398
|
+
* callback is called (see lcb_set_destroy_callback()).
|
|
399
|
+
*
|
|
400
|
+
* @cntl_arg_get_and_set{lcb_logprocs**,lcb_logprocs*}*/
|
|
401
|
+
#define LCB_CNTL_LOGGER 0x18
|
|
402
|
+
/**@}*/
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* @brief Refresh Throttling
|
|
407
|
+
*
|
|
408
|
+
* Modify the amount of time (in microseconds) before the
|
|
409
|
+
* @ref LCB_CNTL_CONFERRTHRESH will forcefully be set to its maximum
|
|
410
|
+
* number forcing a configuration refresh.
|
|
411
|
+
*
|
|
412
|
+
* Note that if you expect a high number of timeouts in your operations, you
|
|
413
|
+
* should set this to a high number (along with `CONFERRTHRESH`). If you
|
|
414
|
+
* are using the default timeout setting, then this value is likely optimal.
|
|
415
|
+
*
|
|
416
|
+
* @cntl_arg_both{lcb_U32*}
|
|
417
|
+
* @see LCB_CNTL_CONFERRTHRESH
|
|
418
|
+
* @uncommitted
|
|
419
|
+
*/
|
|
420
|
+
#define LCB_CNTL_CONFDELAY_THRESH 0x19
|
|
421
|
+
|
|
422
|
+
/**@brief Get the transport used to fetch cluster configuration.
|
|
423
|
+
* @cntl_arg_getonly{lcb_config_transport_t*}
|
|
424
|
+
* @uncommitted*/
|
|
425
|
+
#define LCB_CNTL_CONFIG_TRANSPORT 0x1A
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* @brief Per-node configuration timeout.
|
|
429
|
+
*
|
|
430
|
+
* The per-node configuration timeout sets the amount of time to wait
|
|
431
|
+
* for each node within the bootstrap/configuration process. This interval
|
|
432
|
+
* is a subset of the @ref LCB_CNTL_CONFIGURATION_TIMEOUT
|
|
433
|
+
* option mentioned above and is intended
|
|
434
|
+
* to ensure that the bootstrap process does not wait too long for a given
|
|
435
|
+
* node. Nodes that are physically offline may never respond and it may take
|
|
436
|
+
* a long time until they are detected as being offline.
|
|
437
|
+
* See CCBC-261 and CCBC-313 for more reasons.
|
|
438
|
+
*
|
|
439
|
+
* @note the `CONFIGURATION_TIMEOUT` should be higher than this number.
|
|
440
|
+
* No check is made to ensure that this is the case, however.
|
|
441
|
+
*
|
|
442
|
+
* @cntl_arg_both{lcb_U32*}
|
|
443
|
+
* @see LCB_CNTL_CONFIGURATION_TIMEOUT
|
|
444
|
+
* @committed
|
|
445
|
+
*/
|
|
446
|
+
#define LCB_CNTL_CONFIG_NODE_TIMEOUT 0x1B
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* @brief Idling/Persistence for HTTP bootstrap
|
|
450
|
+
*
|
|
451
|
+
* By default the behavior of the library for HTTP bootstrap is to keep the
|
|
452
|
+
* stream open at all times (opening a new stream on a different host if the
|
|
453
|
+
* existing one is broken) in order to proactively receive configuration
|
|
454
|
+
* updates.
|
|
455
|
+
*
|
|
456
|
+
* The default value for this setting is -1. Changing this to another number
|
|
457
|
+
* invokes the following semantics:
|
|
458
|
+
*
|
|
459
|
+
* - The configuration stream is not kept alive indefinitely. It is kept open
|
|
460
|
+
* for the number of seconds specified in this setting. The socket is closed
|
|
461
|
+
* after a period of inactivity (indicated by this setting).
|
|
462
|
+
*
|
|
463
|
+
* - If the stream is broken (and no current refresh was requested by the
|
|
464
|
+
* client) then a new stream is not opened.
|
|
465
|
+
*
|
|
466
|
+
* @cntl_arg_both{lcb_U32*}
|
|
467
|
+
* @volatile
|
|
468
|
+
*/
|
|
469
|
+
#define LCB_CNTL_HTCONFIG_IDLE_TIMEOUT 0x1C
|
|
470
|
+
|
|
471
|
+
/**@brief Get the current SCM changeset for the library binary
|
|
472
|
+
* @cntl_arg_getonly{char**}
|
|
473
|
+
* @committed*/
|
|
474
|
+
#define LCB_CNTL_CHANGESET 0x1F
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* @brief file used for the configuration cache.
|
|
478
|
+
*
|
|
479
|
+
* The configuration
|
|
480
|
+
* cache allows to bootstrap from a cluster without using the initial
|
|
481
|
+
* bootstrap connection, considerably reducing latency. If the file passed
|
|
482
|
+
* does not exist, the normal bootstrap process is performed and the file
|
|
483
|
+
* is written to with the current information.
|
|
484
|
+
*
|
|
485
|
+
* @note The leading directories for the file must exist, otherwise the file
|
|
486
|
+
* will never be created.
|
|
487
|
+
*
|
|
488
|
+
* @note Configuration cache is not supported for memcached buckets
|
|
489
|
+
* @cntl_arg_get_and_set{char**, char*}
|
|
490
|
+
* @uncommitted
|
|
491
|
+
* @see LCB_CNTL_CONFIG_CACHE_LOADED
|
|
492
|
+
*/
|
|
493
|
+
#define LCB_CNTL_CONFIGCACHE 0x21
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* @brief File used for read-only configuration cache
|
|
497
|
+
*
|
|
498
|
+
* This is identical to the @ref LCB_CNTL_CONFIGCACHE directive, except that
|
|
499
|
+
* it guarantees that the library will never overwrite or otherwise modify
|
|
500
|
+
* the path specified.
|
|
501
|
+
*
|
|
502
|
+
* @see LCB_CNTL_CONFIGCACHE
|
|
503
|
+
*/
|
|
504
|
+
#define LCB_CNTL_CONFIGCACHE_RO 0x36
|
|
505
|
+
|
|
506
|
+
typedef enum {
|
|
507
|
+
LCB_SSL_ENABLED = 1 << 0, /**< Use SSL */
|
|
508
|
+
LCB_SSL_NOVERIFY = 1 << 1, /**< Don't verify certificates */
|
|
509
|
+
LCB_SSL_NOGLOBALINIT = 1 << 2 /**< Do not call SSL's global init functions */
|
|
510
|
+
} lcb_SSLOPTS;
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* @brief Get SSL Mode
|
|
514
|
+
*
|
|
515
|
+
* Retrieve the SSL mode currently in use by the library. This is a read-only
|
|
516
|
+
* setting. To set the SSL mode at the library, specify the appropriate values
|
|
517
|
+
* within the connection string. See @ref lcb_create_st3 for details.
|
|
518
|
+
*
|
|
519
|
+
* @cntl_arg_getonly{`int*` (value is one of @ref lcb_SSLOPTS)}
|
|
520
|
+
*/
|
|
521
|
+
#define LCB_CNTL_SSL_MODE 0x22
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* @brief Get SSL Certificate path
|
|
525
|
+
*
|
|
526
|
+
* Retrieve the path to the CA certificate (if any) being used.
|
|
527
|
+
*
|
|
528
|
+
* @cntl_arg_getonly{`char**`}
|
|
529
|
+
* @see LCB_CNTL_SSL_MODE
|
|
530
|
+
*/
|
|
531
|
+
#define LCB_CNTL_SSL_CERT 0x23
|
|
532
|
+
/* For back compat */
|
|
533
|
+
#define LCB_CNTL_SSL_CACERT LCB_CNTL_SSL_CERT
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* @brief
|
|
537
|
+
* Select retry mode to manipulate
|
|
538
|
+
*/
|
|
539
|
+
typedef enum {
|
|
540
|
+
LCB_RETRY_ON_TOPOCHANGE = 0, /**< Select retry for topology */
|
|
541
|
+
LCB_RETRY_ON_SOCKERR, /**< Select retry for network errors */
|
|
542
|
+
LCB_RETRY_ON_VBMAPERR, /**< Select retry for NOT_MY_VBUCKET responses */
|
|
543
|
+
|
|
544
|
+
/** Retry when there is no node for the item. This case is special as the
|
|
545
|
+
* `cmd` setting is treated as a boolean rather than a bitmask*/
|
|
546
|
+
LCB_RETRY_ON_MISSINGNODE,
|
|
547
|
+
LCB_RETRY_ON_MAX /**<< maximum index */
|
|
548
|
+
} lcb_RETRYMODEOPTS;
|
|
549
|
+
|
|
550
|
+
typedef enum {
|
|
551
|
+
/**Don't retry any commands. A command which has been forwarded to
|
|
552
|
+
* a server and a not-my-vbucket has been received in response for it
|
|
553
|
+
* will result in a failure.*/
|
|
554
|
+
LCB_RETRY_CMDS_NONE = 0,
|
|
555
|
+
|
|
556
|
+
/**Only retry simple retrieval operations (excludes touch,
|
|
557
|
+
* get-and-touch, and get-locked) which may be retried many numbers of times
|
|
558
|
+
* without risking unintended data manipulation. */
|
|
559
|
+
LCB_RETRY_CMDS_GET = 0x01,
|
|
560
|
+
|
|
561
|
+
/**Retry operations which may potentially fail because they have been
|
|
562
|
+
* accepted by a previous server, but will not silently corrupt data.
|
|
563
|
+
* Such commands include mutation operations containing a CAS.*/
|
|
564
|
+
LCB_RETRY_CMDS_SAFE = 0x03, /* Includes 'GET', plus a new flag (e.g. 0x02|0x01) */
|
|
565
|
+
|
|
566
|
+
/**Retry all commands, disregarding any potential unintended receipt of
|
|
567
|
+
* errors or data mutation.*/
|
|
568
|
+
LCB_RETRY_CMDS_ALL = 0x07 /* e.g. 0x01|0x03| NEW FLAG: 0x04 */
|
|
569
|
+
} lcb_RETRYCMDOPTS;
|
|
570
|
+
|
|
571
|
+
/**@brief Create a retry setting value
|
|
572
|
+
* @param mode the mode to set (@see lcb_RETRYMODEOPTS)
|
|
573
|
+
* @param policy the policy determining which commands should be retried
|
|
574
|
+
* (@see lcb_RETRYCMDOPTS)
|
|
575
|
+
* @return a value which can be assigned to an `lcb_U32` and passed to
|
|
576
|
+
* the @ref LCB_CNTL_RETRYMODE setting
|
|
577
|
+
*/
|
|
578
|
+
#define LCB_RETRYOPT_CREATE(mode, policy) (((mode) << 16) | policy)
|
|
579
|
+
|
|
580
|
+
#define LCB_RETRYOPT_GETMODE(u) (u) >> 16
|
|
581
|
+
#define LCB_RETRYOPT_GETPOLICY(u) (u) & 0xffff
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* @volatile
|
|
585
|
+
*
|
|
586
|
+
* @brief Set retry policies
|
|
587
|
+
*
|
|
588
|
+
* This function sets the retry behavior. The retry behavior is the action the
|
|
589
|
+
* library should take when a command has failed because of a failure which
|
|
590
|
+
* may be a result of environmental and/or topology issues. In such cases it
|
|
591
|
+
* may be possible to retry the command internally and have it succeed a second
|
|
592
|
+
* time without propagating an error back to the application.
|
|
593
|
+
*
|
|
594
|
+
* The behavior consists of a _mode_ and _command_ selectors. The _command_
|
|
595
|
+
* selector indicates which commands should be retried (and which should be
|
|
596
|
+
* propagated up to the user) whereas the _mode_ indicates under which
|
|
597
|
+
* circumstances should the _command_ policy be used.
|
|
598
|
+
*
|
|
599
|
+
* Disable retries anywhere:
|
|
600
|
+
* @code{.c}
|
|
601
|
+
* for (int ii = 0; ii < LCB_RETRY_ON_MAX; ++ii) {
|
|
602
|
+
* lcb_U32 val = LCB_RETRYOPT_CREATE(ii, LCB_RETRY_CMDS_NONE);
|
|
603
|
+
* lcb_error_t err = lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_RETRYMODE, &val);
|
|
604
|
+
* }
|
|
605
|
+
* @endcode
|
|
606
|
+
*
|
|
607
|
+
* Only retry simple GET operations when retry is needed because of topology
|
|
608
|
+
* changes:
|
|
609
|
+
* @code{.c}
|
|
610
|
+
* lcb_U32 val = LCB_RETRYOPT_CREATE(LCB_RETRY_ON_TOPOCHANGE, LCB_RETRY_CMDS_GET);
|
|
611
|
+
* lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_RETRYMODE, &val);
|
|
612
|
+
* @endcode
|
|
613
|
+
*
|
|
614
|
+
* Determine the behavior of the library when a `NOT_MY_VBUCKET` is received:
|
|
615
|
+
* @code{.c}
|
|
616
|
+
* lcb_U32 val = LCB_RETRYOPT_CREATE(LCB_RETRY_ON_VBMAPERR, 0);
|
|
617
|
+
* lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_RETRYMODE, &val);
|
|
618
|
+
* lcb_U32 policy = LCB_RETRYOPT_GETPOLICY(val);
|
|
619
|
+
* @endcode
|
|
620
|
+
*
|
|
621
|
+
* @cntl_arg_both{`lcb_U32 *`}
|
|
622
|
+
*/
|
|
623
|
+
#define LCB_CNTL_RETRYMODE 0x24
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* @brief Enumeration representing various URL forms to use for the configuration
|
|
627
|
+
* stream */
|
|
628
|
+
typedef enum {
|
|
629
|
+
/** `/pools/default/b[s]/$bucket`: Introduced in Couchbase Server 2.5 */
|
|
630
|
+
LCB_HTCONFIG_URLTYPE_25PLUS = 0x01,
|
|
631
|
+
|
|
632
|
+
/** `/pools/default/buckets[Streaming]/$bucket`. */
|
|
633
|
+
LCB_HTCONFIG_URLTYPE_COMPAT = 0x02,
|
|
634
|
+
|
|
635
|
+
/** Try `25PLUS` first and fallback to `COMPAT` */
|
|
636
|
+
LCB_HTCONFIG_URLTYPE_TRYALL = 0x03
|
|
637
|
+
} lcb_HTCONFIG_URLTYPE;
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* @volatile - Primarily here to support tests and buggy HTTP servers/proxies
|
|
641
|
+
* which do not like to maintain a connection upon receipt of a 404.
|
|
642
|
+
*
|
|
643
|
+
* @brief Set the URL selection mode.
|
|
644
|
+
*
|
|
645
|
+
* The URL type can be a mask of the lcb_HTCONFIG_URLTYPE constants which
|
|
646
|
+
* indicate which URLs the HTTP provider should use.
|
|
647
|
+
*
|
|
648
|
+
* The default is to use the `25PLUS` URI first, and fallback on the compat uri
|
|
649
|
+
* if the terse one fails with an HTTP 404 (Not Found). The new-style URI is
|
|
650
|
+
* considered more efficient on cluster resources and can help the cluster
|
|
651
|
+
* maintain many more streaming connections than the compat version, however
|
|
652
|
+
* it is only available in Couchbase Server 2.5 and greater.
|
|
653
|
+
*
|
|
654
|
+
* This setting is only used when CCCP is disabled. This will typically be for
|
|
655
|
+
* older clusters or for memcached buckets.
|
|
656
|
+
* @cntl_arg_both{`int*` (value is one of @ref lcb_HTCONFIG_URLTYPE)}
|
|
657
|
+
*/
|
|
658
|
+
#define LCB_CNTL_HTCONFIG_URLTYPE 0x25
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* @volatile
|
|
662
|
+
* Determines whether to run the event loop internally within lcb_destroy()
|
|
663
|
+
* until no more I/O resources remain for the library. This is usually only
|
|
664
|
+
* necessary if you are creating a lot of instances and/or are using memory
|
|
665
|
+
* leak analysis tools.
|
|
666
|
+
*
|
|
667
|
+
* @cntl_arg_both{`int*` (as a boolean)}
|
|
668
|
+
* @see lcb_destroy_async() and lcb_set_destroy_callback()
|
|
669
|
+
*/
|
|
670
|
+
#define LCB_CNTL_SYNCDESTROY 0x28
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* @committed
|
|
674
|
+
*
|
|
675
|
+
* Sets the logging level for the console logger. If a logger is already
|
|
676
|
+
* initialized (either from the environment, or via lcb_cntl_logger() then
|
|
677
|
+
* this operation does nothing.
|
|
678
|
+
*
|
|
679
|
+
* This is mainly useful for applications which want to proxy the built in
|
|
680
|
+
* logging options via command line options and the like, rather than setting
|
|
681
|
+
* it from the environment.
|
|
682
|
+
*
|
|
683
|
+
* The argument passed to lcb_cntl() is an integer of 0 until
|
|
684
|
+
* `LCB_LOGLEVEL_MAX`, though the actual type is of `lcb_U32` rather than
|
|
685
|
+
* an enum type.
|
|
686
|
+
*
|
|
687
|
+
* @cntl_arg_setonly{const lcb_U32 *}
|
|
688
|
+
* @see LCB_CNTL_LOGGER
|
|
689
|
+
*/
|
|
690
|
+
#define LCB_CNTL_CONLOGGER_LEVEL 0x29
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* @uncommitted
|
|
694
|
+
*
|
|
695
|
+
* Sets the output file (as a `FILE*`) for the console logger. Note that
|
|
696
|
+
* any existing file pointer will be cleared (but not `fclose()`d.
|
|
697
|
+
*
|
|
698
|
+
* If used with lcb_cntl_string(), (using the `console_log_file` parameter),
|
|
699
|
+
* the third argument is taken as the _name_ of a file. Note that the user
|
|
700
|
+
* is responsible for closing the file.
|
|
701
|
+
*
|
|
702
|
+
* This setting does not require a library handle and therefore the first
|
|
703
|
+
* argument to lcb_cntl() should be `NULL`.
|
|
704
|
+
*
|
|
705
|
+
*
|
|
706
|
+
* @cntl_arg_get_and_set{`FILE**`, `FILE*`}
|
|
707
|
+
* @see LCB_CNTL_LOGGER
|
|
708
|
+
* @see LCB_CNTL_CONLOGGER_LEVEL
|
|
709
|
+
*/
|
|
710
|
+
#define LCB_CNTL_CONLOGGER_FP 0x3B
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* @committed
|
|
714
|
+
*
|
|
715
|
+
* Sets the behavior for reporting network errors. By default network errors
|
|
716
|
+
* are returned as `LCB_NETWORK_ERROR` return codes for compatibility reasons.
|
|
717
|
+
* More detailed error codes may be available by enabling this option which will
|
|
718
|
+
* return appropriate error codes which have a category of
|
|
719
|
+
* @ref LCB_ERRTYPE_NETWORK
|
|
720
|
+
*
|
|
721
|
+
* Using this option means your programming model is centered around the various
|
|
722
|
+
* LCB_EIF* macros (see <libcouchbase/error.h>) rather than individual codes.
|
|
723
|
+
*
|
|
724
|
+
* @cntl_arg_both{int * (As a boolean)}
|
|
725
|
+
*/
|
|
726
|
+
#define LCB_CNTL_DETAILED_ERRCODES 0x2A
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* @uncommitted
|
|
730
|
+
*
|
|
731
|
+
* Sets the interval at which the retry queue will attempt to resend a failed
|
|
732
|
+
* operation. When an operation fails and the retry policy (see
|
|
733
|
+
* @ref LCB_CNTL_RETRYMODE) allows the operation to be retried, it shall be
|
|
734
|
+
* placed into a queue, and then be retried within a given interval.
|
|
735
|
+
*
|
|
736
|
+
* Setting a high value will be friendlier on the network but also potentially
|
|
737
|
+
* increase latency, while setting this to a low value may cause unnecessary
|
|
738
|
+
* network traffic for operations which are not yet ready to be retried.
|
|
739
|
+
*
|
|
740
|
+
* @cntl_arg_both{lcb_U32* (microseconds)}
|
|
741
|
+
*
|
|
742
|
+
* @see LCB_CNTL_RETRY_BACKOFF
|
|
743
|
+
*/
|
|
744
|
+
#define LCB_CNTL_RETRY_INTERVAL 0x2C
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* @uncommitted
|
|
748
|
+
*
|
|
749
|
+
* When an operation has been retried more than once and it has still not
|
|
750
|
+
* succeeded, the library will attempt to back off for the operation by
|
|
751
|
+
* scheduling it to be retried in `LCB_CNTL_RETRY_INTEVAL * ${n}` microseconds,
|
|
752
|
+
* where `${n}` is the factor controlled by this setting.
|
|
753
|
+
*
|
|
754
|
+
* @cntl_arg_both{float*}
|
|
755
|
+
*/
|
|
756
|
+
#define LCB_CNTL_RETRY_BACKOFF 0x2D
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* @volatile
|
|
760
|
+
* Whether commands are retried immediately upon receipt of not-my-vbucket
|
|
761
|
+
* replies.
|
|
762
|
+
*
|
|
763
|
+
* Since version 2.4.8, packets by default are retried immediately on a
|
|
764
|
+
* different node if it had previously failed with a not-my-vbucket
|
|
765
|
+
* response, and is thus not subject to the @ref LCB_CNTL_RETRY_INTERVAL
|
|
766
|
+
* and @ref LCB_CNTL_RETRY_BACKOFF settings. Disabling this setting will
|
|
767
|
+
* restore the older behavior. This may be used in case there are problems
|
|
768
|
+
* with the default heuristic/retry algorithm.
|
|
769
|
+
*/
|
|
770
|
+
#define LCB_CNTL_RETRY_NMV_IMM 0x37
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* @volatile
|
|
774
|
+
*
|
|
775
|
+
* Set the maximum pool size for pooled http (view request) sockets. This should
|
|
776
|
+
* be set to 1 (the default) unless you plan to execute concurrent view requests.
|
|
777
|
+
* You may set this to 0 to disable pooling
|
|
778
|
+
*
|
|
779
|
+
* @cntl_arg_both{lcb_SIZE}
|
|
780
|
+
*/
|
|
781
|
+
#define LCB_CNTL_HTTP_POOLSIZE 0x2E
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* @uncomitted
|
|
785
|
+
* Determine whether or not a new configuration should be received when an error
|
|
786
|
+
* is received over the HTTP API (i.e. via lcb_make_http_request().
|
|
787
|
+
*
|
|
788
|
+
* The default value is true, however you may wish to disable this if you are
|
|
789
|
+
* expectedly issuing a lot of requests which may result in an error.
|
|
790
|
+
*
|
|
791
|
+
* @cntl_arg_both{int (as boolean)}
|
|
792
|
+
*/
|
|
793
|
+
#define LCB_CNTL_HTTP_REFRESH_CONFIG_ON_ERROR 0x2F
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* @volatile
|
|
797
|
+
* Set the behavior of the lcb_sched_leave() API call. By default the
|
|
798
|
+
* lcb_sched_leave() will also set up the necessary requirements for flushing
|
|
799
|
+
* to the network. If this option is off then an explicit call to
|
|
800
|
+
* lcb_sched_flush() must be performed instead.
|
|
801
|
+
*
|
|
802
|
+
* @cntl_arg_both{int (as boolean)}
|
|
803
|
+
*/
|
|
804
|
+
#define LCB_CNTL_SCHED_IMPLICIT_FLUSH 0x31
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* @volatile
|
|
808
|
+
*
|
|
809
|
+
* Allow the server to return an additional 16 bytes of data for each
|
|
810
|
+
* mutation operation. This extra information may help with more reliable
|
|
811
|
+
* durability polling, but will also increase the size of the response packet.
|
|
812
|
+
*
|
|
813
|
+
* This should be set on the instance before issuing lcb_connect(). While this
|
|
814
|
+
* may also be set after lcb_connect() is called, it will currently only take
|
|
815
|
+
* effect when a server reconnects (which itself may be undefined).
|
|
816
|
+
*
|
|
817
|
+
* @cntl_arg_both{int (as boolean)}
|
|
818
|
+
*/
|
|
819
|
+
#define LCB_CNTL_FETCH_MUTATION_TOKENS 0x34
|
|
820
|
+
|
|
821
|
+
/**
|
|
822
|
+
* @volatile
|
|
823
|
+
*
|
|
824
|
+
* This setting determines whether the lcb_durability_poll() function will
|
|
825
|
+
* transparently attempt to use mutation token functionality (rather than checking
|
|
826
|
+
* the CAS). This option is most useful for older code which does
|
|
827
|
+
* explicitly use mutation tokens but would like to use its benefits when
|
|
828
|
+
* ensuring durability constraints are satisfied.
|
|
829
|
+
*
|
|
830
|
+
* This option is enabled by default. Users may wish to disable this if they
|
|
831
|
+
* are performing durability operations against items stored from different
|
|
832
|
+
* client instances, as this will make use of a client-global state which is
|
|
833
|
+
* derived on a per-vBucket basis. This means that the last mutation performed
|
|
834
|
+
* on a given vBucket for the client will be used, which in some cases may be
|
|
835
|
+
* older or newer than the mutations passed to the lcb_durability_poll()
|
|
836
|
+
* function.
|
|
837
|
+
*
|
|
838
|
+
* @cntl_arg_both{int (as boolean)}
|
|
839
|
+
*/
|
|
840
|
+
#define LCB_CNTL_DURABILITY_MUTATION_TOKENS 0x35
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* @volatile
|
|
844
|
+
*
|
|
845
|
+
* This read-only property determines if the mutation token mechanism is supported
|
|
846
|
+
* on the cluster itself. This will only be accurate once a single operation
|
|
847
|
+
* has been performed on the cluster - or in other words, once a connection
|
|
848
|
+
* to a data node has been established for the purposes of normal operations.
|
|
849
|
+
*
|
|
850
|
+
* @cntl_arg_getonly{int (as boolean)}
|
|
851
|
+
*/
|
|
852
|
+
#define LCB_CNTL_MUTATION_TOKENS_SUPPORTED 0x38
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
/**
|
|
856
|
+
* @uncommitted
|
|
857
|
+
* This setting determines if calls to lcb_wait() and lcb_wait3() will reset
|
|
858
|
+
* the timeout of pending operations to the time that lcb_wait() was called,
|
|
859
|
+
* rather than having the operation maintain the time of the call which
|
|
860
|
+
* scheduled it. If the time between lcb_store3() and family and the lcb_wait()
|
|
861
|
+
* functions is long, it is recommended to disable this setting in order to
|
|
862
|
+
* avoid prematurely having operations time out.
|
|
863
|
+
*
|
|
864
|
+
* @cntl_arg_both{int (as boolean)}
|
|
865
|
+
*
|
|
866
|
+
* Use `"readj_wait_tmo"` for the string version
|
|
867
|
+
*/
|
|
868
|
+
#define LCB_CNTL_RESET_TIMEOUT_ON_WAIT 0x3A
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* @volatile
|
|
872
|
+
* Clears the internal prepared statement cache for N1QL
|
|
873
|
+
*
|
|
874
|
+
* This does not take any arguments, and is valid only on @ref LCB_CNTL_SET
|
|
875
|
+
*/
|
|
876
|
+
#define LCB_CNTL_N1QL_CLEARACHE 0x3E
|
|
877
|
+
|
|
878
|
+
/**
|
|
879
|
+
* @committed
|
|
880
|
+
* Sets additional text for negotiation. This allows wrappers or applications
|
|
881
|
+
* to add additional identifying information which can then be seen in the
|
|
882
|
+
* server logs.
|
|
883
|
+
*
|
|
884
|
+
* @cntl_arg_get_and_set{`const char**`, `const char*`}
|
|
885
|
+
*
|
|
886
|
+
* Use `"client_string"` for the string version
|
|
887
|
+
*/
|
|
888
|
+
#define LCB_CNTL_CLIENT_STRING 0x3F
|
|
889
|
+
|
|
890
|
+
typedef const char *lcb_BUCKETCRED[2];
|
|
891
|
+
|
|
892
|
+
/**
|
|
893
|
+
* Set credentials for a bucket. This is used for N1QL and CBFT APIs to allow
|
|
894
|
+
* access to multiple buckets. It can also be used to set the password
|
|
895
|
+
* of the current bucket when reconnecting (in case it changes).
|
|
896
|
+
*
|
|
897
|
+
* The format for the credentials is an array of two nul-terminated strings,
|
|
898
|
+
* the first refers to the bucket and the second refers to the password.
|
|
899
|
+
*/
|
|
900
|
+
#define LCB_CNTL_BUCKET_CRED 0x40
|
|
901
|
+
|
|
902
|
+
/**
|
|
903
|
+
* Set the amount of time the client should wait before retrying a
|
|
904
|
+
* not-my-vbucket response packet. The default is 100ms. The value should
|
|
905
|
+
* be specified in microseconds
|
|
906
|
+
*
|
|
907
|
+
* @committed
|
|
908
|
+
* @cntl_arg_both{lcb_U32*}
|
|
909
|
+
*
|
|
910
|
+
* Use `"retry_nmv_interval"` with lcb_cntl_string()
|
|
911
|
+
*/
|
|
912
|
+
#define LCB_CNTL_RETRY_NMV_INTERVAL 0x41
|
|
913
|
+
|
|
914
|
+
/**
|
|
915
|
+
* Limit the number of bytes to be read (and thereby processed) during I/O
|
|
916
|
+
* read operations. This setting may be useful when the network is faster than
|
|
917
|
+
* processing resources.
|
|
918
|
+
*
|
|
919
|
+
* @note This setting only works for event-style I/O plugins. This means it
|
|
920
|
+
* has no effect on completion style plugins such as libuv or Windows IOCP
|
|
921
|
+
*
|
|
922
|
+
* @committed
|
|
923
|
+
* @cntl_arg_both{lcb_U32*}
|
|
924
|
+
*/
|
|
925
|
+
#define LCB_CNTL_READ_CHUNKSIZE 0x42
|
|
926
|
+
|
|
927
|
+
/** This is not a command, but rather an indicator of the last item */
|
|
928
|
+
#define LCB_CNTL__MAX 0x43
|
|
929
|
+
/**@}*/
|
|
930
|
+
|
|
931
|
+
#ifdef __cplusplus
|
|
932
|
+
}
|
|
933
|
+
#endif
|
|
934
|
+
|
|
935
|
+
#include "cntl-private.h"
|
|
936
|
+
|
|
937
|
+
#endif /* LCB_CNTL_H */
|