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,81 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2010-2012 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
|
+
#include "internal.h"
|
|
19
|
+
|
|
20
|
+
LIBCOUCHBASE_API
|
|
21
|
+
lcb_error_t
|
|
22
|
+
lcb_touch3(lcb_t instance, const void *cookie, const lcb_CMDTOUCH *cmd)
|
|
23
|
+
{
|
|
24
|
+
protocol_binary_request_touch tcmd;
|
|
25
|
+
protocol_binary_request_header *hdr = &tcmd.message.header;
|
|
26
|
+
mc_PIPELINE *pl;
|
|
27
|
+
mc_PACKET *pkt;
|
|
28
|
+
lcb_error_t err;
|
|
29
|
+
|
|
30
|
+
if (LCB_KEYBUF_IS_EMPTY(&cmd->key)) {
|
|
31
|
+
return LCB_EMPTY_KEY;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
err = mcreq_basic_packet(&instance->cmdq, cmd, hdr, 4, &pkt, &pl,
|
|
35
|
+
MCREQ_BASICPACKET_F_FALLBACKOK);
|
|
36
|
+
if (err != LCB_SUCCESS) {
|
|
37
|
+
return err;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
hdr->request.magic = PROTOCOL_BINARY_REQ;
|
|
41
|
+
hdr->request.opcode = PROTOCOL_BINARY_CMD_TOUCH;
|
|
42
|
+
hdr->request.cas = 0;
|
|
43
|
+
hdr->request.datatype = PROTOCOL_BINARY_RAW_BYTES;
|
|
44
|
+
hdr->request.opaque = pkt->opaque;
|
|
45
|
+
hdr->request.bodylen = htonl(4 + ntohs(hdr->request.keylen));
|
|
46
|
+
tcmd.message.body.expiration = htonl(cmd->exptime);
|
|
47
|
+
memcpy(SPAN_BUFFER(&pkt->kh_span), tcmd.bytes, sizeof(tcmd.bytes));
|
|
48
|
+
pkt->u_rdata.reqdata.cookie = cookie;
|
|
49
|
+
pkt->u_rdata.reqdata.start = gethrtime();
|
|
50
|
+
LCB_SCHED_ADD(instance, pl, pkt);
|
|
51
|
+
return LCB_SUCCESS;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
LIBCOUCHBASE_API
|
|
55
|
+
lcb_error_t
|
|
56
|
+
lcb_touch(lcb_t instance, const void *cookie, lcb_size_t num,
|
|
57
|
+
const lcb_touch_cmd_t * const * items)
|
|
58
|
+
{
|
|
59
|
+
unsigned ii;
|
|
60
|
+
|
|
61
|
+
lcb_sched_enter(instance);
|
|
62
|
+
for (ii = 0; ii < num; ii++) {
|
|
63
|
+
const lcb_touch_cmd_t *src = items[ii];
|
|
64
|
+
lcb_CMDTOUCH dst;
|
|
65
|
+
lcb_error_t err;
|
|
66
|
+
|
|
67
|
+
memset(&dst, 0, sizeof(dst));
|
|
68
|
+
dst.key.contig.bytes = src->v.v0.key;
|
|
69
|
+
dst.key.contig.nbytes = src->v.v0.nkey;
|
|
70
|
+
dst._hashkey.contig.bytes = src->v.v0.hashkey;
|
|
71
|
+
dst._hashkey.contig.nbytes = src->v.v0.nhashkey;
|
|
72
|
+
dst.exptime = src->v.v0.exptime;
|
|
73
|
+
err = lcb_touch3(instance, cookie, &dst);
|
|
74
|
+
if (err != LCB_SUCCESS) {
|
|
75
|
+
lcb_sched_fail(instance);
|
|
76
|
+
return err;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
lcb_sched_leave(instance);
|
|
80
|
+
SYNCMODE_INTERCEPT(instance)
|
|
81
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2014 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
|
+
#include "packetutils.h"
|
|
19
|
+
#include "rdb/rope.h"
|
|
20
|
+
|
|
21
|
+
#ifndef _WIN32 /* for win32 this is inside winsock, included in sysdefs.h */
|
|
22
|
+
#include <arpa/inet.h>
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
int
|
|
26
|
+
lcb_pktinfo_ior_get(packet_info *info, rdb_IOROPE *ior, unsigned *required)
|
|
27
|
+
{
|
|
28
|
+
unsigned total = rdb_get_nused(ior);
|
|
29
|
+
unsigned wanted = sizeof(info->res.bytes);
|
|
30
|
+
|
|
31
|
+
if (total < wanted) {
|
|
32
|
+
*required = wanted;
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
rdb_copyread(ior, info->res.bytes, sizeof(info->res.bytes));
|
|
37
|
+
if (!PACKET_NBODY(info)) {
|
|
38
|
+
rdb_consumed(ior, sizeof(info->res.bytes));
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
wanted += PACKET_NBODY(info);
|
|
43
|
+
if (total < wanted) {
|
|
44
|
+
*required = wanted;
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
rdb_consumed(ior, sizeof(info->res.bytes));
|
|
49
|
+
info->payload = rdb_get_consolidated(ior, PACKET_NBODY(info));
|
|
50
|
+
return 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
void
|
|
54
|
+
lcb_pktinfo_ior_done(packet_info *info, rdb_IOROPE *ior)
|
|
55
|
+
{
|
|
56
|
+
if (!PACKET_NBODY(info)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
rdb_consumed(ior, PACKET_NBODY(info));
|
|
60
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2014 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
|
+
#ifndef LCB_PACKETUTILS_H
|
|
19
|
+
#define LCB_PACKETUTILS_H
|
|
20
|
+
|
|
21
|
+
#include <libcouchbase/couchbase.h>
|
|
22
|
+
#include "ringbuffer.h"
|
|
23
|
+
#include "rdb/rope.h"
|
|
24
|
+
#include "memcached/protocol_binary.h"
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif
|
|
29
|
+
/**
|
|
30
|
+
* Response packet informational structure.
|
|
31
|
+
*
|
|
32
|
+
* This contains information regarding the response packet which is used by
|
|
33
|
+
* the response processors.
|
|
34
|
+
*/
|
|
35
|
+
typedef struct packet_info_st {
|
|
36
|
+
/** The response header */
|
|
37
|
+
protocol_binary_response_header res;
|
|
38
|
+
/** The payload of the response. This should only be used if there is a body */
|
|
39
|
+
void *payload;
|
|
40
|
+
/** Segment for payload */
|
|
41
|
+
void *bufh;
|
|
42
|
+
} packet_info;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Gets the size of the _total_ non-header part of the packet. This data is
|
|
46
|
+
* also featured inside the payload field itself.
|
|
47
|
+
*/
|
|
48
|
+
#define PACKET_NBODY(pkt) (ntohl((pkt)->res.response.bodylen))
|
|
49
|
+
|
|
50
|
+
#define PACKET_BODY(pkt) (pkt)->payload
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Gets the key size, if included in the packet.
|
|
54
|
+
*/
|
|
55
|
+
#define PACKET_NKEY(pkt) (ntohs((pkt)->res.response.keylen))
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Gets the status of the packet
|
|
59
|
+
*/
|
|
60
|
+
#define PACKET_STATUS(pkt) (ntohs((pkt)->res.response.status))
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Gets the length of the 'extras' in the body
|
|
64
|
+
*/
|
|
65
|
+
#define PACKET_EXTLEN(pkt) ((pkt)->res.response.extlen)
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Gets the raw unconverted 'opaque' 32 bit field
|
|
69
|
+
*/
|
|
70
|
+
#define PACKET_OPAQUE(pkt) ((pkt)->res.response.opaque)
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Gets the command for the packet
|
|
74
|
+
*/
|
|
75
|
+
#define PACKET_OPCODE(pkt) ((pkt)->res.response.opcode)
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Gets the CAS for the packet
|
|
79
|
+
*/
|
|
80
|
+
#define PACKET_CAS(pkt) lcb_ntohll((pkt)->res.response.cas)
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Gets the 'datatype' field for the packet.
|
|
84
|
+
*/
|
|
85
|
+
#define PACKET_DATATYPE(pkt) ((pkt)->res.response.datatype)
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Gets a pointer starting at the packet's key field. Only use if NKEY is 0
|
|
89
|
+
*/
|
|
90
|
+
#define PACKET_KEY(pkt) \
|
|
91
|
+
( ((const char *)(pkt)->payload) + PACKET_EXTLEN(pkt))
|
|
92
|
+
|
|
93
|
+
#define PACKET_REQUEST(pkt) \
|
|
94
|
+
( (protocol_binary_request_header *) &(pkt)->res)
|
|
95
|
+
|
|
96
|
+
#define PACKET_REQ_VBID(pkt) \
|
|
97
|
+
(ntohs(PACKET_REQUEST(pkt)->request.vbucket))
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Gets a pointer starting at the packet's value field. Only use if NVALUE is 0
|
|
101
|
+
*/
|
|
102
|
+
#define PACKET_VALUE(pkt) \
|
|
103
|
+
( ((const char *) (pkt)->payload) + PACKET_NKEY(pkt) + PACKET_EXTLEN(pkt))
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Gets the size of the packet value. The value is the part of the payload
|
|
107
|
+
* which is after the key (if applicable) and extras (if applicable).
|
|
108
|
+
*/
|
|
109
|
+
#define PACKET_NVALUE(pkt) \
|
|
110
|
+
(PACKET_NBODY(pkt) - (PACKET_NKEY(pkt) + PACKET_EXTLEN(pkt)))
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Map a command 'subclass' so that its body field starts at the payload. Note
|
|
115
|
+
* that the return value is actually an ephemeral pointer starting 24 bytes
|
|
116
|
+
* _before_ the actual memory block, so only use the non-header part.
|
|
117
|
+
*/
|
|
118
|
+
#define PACKET_EPHEMERAL_START(pkt) \
|
|
119
|
+
(const void *)(( ((const char *)(pkt)->payload) - 24 ))
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Read from an 'IOR' structure to parse the packet information. This will
|
|
123
|
+
* always load a full packet.
|
|
124
|
+
*
|
|
125
|
+
* @param info the info structure to populate
|
|
126
|
+
* @param ior the rope structure to read from
|
|
127
|
+
* @param[out] required how much total bytes must remain in the buffer for the
|
|
128
|
+
* parse to complete.
|
|
129
|
+
*
|
|
130
|
+
* @return zero if more data is needed, a true value otherwise
|
|
131
|
+
*/
|
|
132
|
+
int
|
|
133
|
+
lcb_pktinfo_ior_get(packet_info *info, rdb_IOROPE *ior, unsigned *required);
|
|
134
|
+
|
|
135
|
+
void
|
|
136
|
+
lcb_pktinfo_ior_done(packet_info *info, rdb_IOROPE *ior);
|
|
137
|
+
|
|
138
|
+
#define lcb_pktinfo_ectx_get(info, ctx, n) lcb_pktinfo_ior_get(info, &(ctx)->ior, n)
|
|
139
|
+
#define lcb_pktinfo_ectx_done(info, ctx) lcb_pktinfo_ior_done(info, &(ctx)->ior)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
#ifdef __cplusplus
|
|
144
|
+
}
|
|
145
|
+
#endif
|
|
146
|
+
|
|
147
|
+
#endif
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2012 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
|
+
provider libcouchbase {
|
|
19
|
+
probe get_begin(uint32_t, /* opaque */
|
|
20
|
+
uint16_t, /* vbucket */
|
|
21
|
+
uint8_t, /* opcode (get, gat, getl) */
|
|
22
|
+
const char*, /* key */
|
|
23
|
+
size_t, /* nkey */
|
|
24
|
+
uint32_t); /* expiration */
|
|
25
|
+
probe get_end(uint32_t, /* opaque */
|
|
26
|
+
uint16_t, /* vbucket */
|
|
27
|
+
uint8_t, /* opcode (get, gat, getl) */
|
|
28
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
29
|
+
const char*, /* key */
|
|
30
|
+
size_t, /* nkey */
|
|
31
|
+
const void*, /* bytes */
|
|
32
|
+
size_t, /* nbytes */
|
|
33
|
+
uint32_t, /* flags */
|
|
34
|
+
uint64_t, /* cas */
|
|
35
|
+
uint8_t); /* datatype */
|
|
36
|
+
|
|
37
|
+
probe unlock_begin(uint32_t, /* opaque */
|
|
38
|
+
uint16_t, /* vbucket */
|
|
39
|
+
uint8_t, /* opcode */
|
|
40
|
+
const char*, /* key */
|
|
41
|
+
size_t); /* nkey */
|
|
42
|
+
probe unlock_end(uint32_t, /* opaque */
|
|
43
|
+
uint16_t, /* vbucket */
|
|
44
|
+
uint8_t, /* opcode */
|
|
45
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
46
|
+
const char*, /* key */
|
|
47
|
+
size_t); /* nkey */
|
|
48
|
+
|
|
49
|
+
probe store_begin(uint32_t, /* opaque */
|
|
50
|
+
uint16_t, /* vbucket */
|
|
51
|
+
uint8_t, /* opcode (set, add, replace, append, prepend) */
|
|
52
|
+
const char*, /* key */
|
|
53
|
+
size_t, /* nkey */
|
|
54
|
+
const char*, /* bytes */
|
|
55
|
+
size_t, /* nbytes */
|
|
56
|
+
uint32_t, /* flags */
|
|
57
|
+
uint64_t, /* cas */
|
|
58
|
+
uint8_t, /* datatype */
|
|
59
|
+
uint32_t); /* expiration */
|
|
60
|
+
probe store_end(uint32_t, /* opaque */
|
|
61
|
+
uint16_t, /* vbucket */
|
|
62
|
+
uint8_t, /* opcode (set, add, replace, append, prepend) */
|
|
63
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
64
|
+
const char*, /* key */
|
|
65
|
+
size_t, /* nkey */
|
|
66
|
+
uint64_t); /* cas */
|
|
67
|
+
|
|
68
|
+
probe arithmetic_begin(uint32_t, /* opaque */
|
|
69
|
+
uint16_t, /* vbucket */
|
|
70
|
+
uint8_t, /* opcode (increment, decrement) */
|
|
71
|
+
const char*, /* key */
|
|
72
|
+
size_t, /* nkey */
|
|
73
|
+
uint64_t, /* delta */
|
|
74
|
+
uint64_t, /* initial */
|
|
75
|
+
uint32_t); /* expiration */
|
|
76
|
+
probe arithmetic_end(uint32_t, /* opaque */
|
|
77
|
+
uint16_t, /* vbucket */
|
|
78
|
+
uint8_t, /* opcode (increment, decrement) */
|
|
79
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
80
|
+
const char*, /* key */
|
|
81
|
+
size_t, /* nkey */
|
|
82
|
+
uint64_t, /* value */
|
|
83
|
+
uint64_t); /* cas */
|
|
84
|
+
|
|
85
|
+
probe touch_begin(uint32_t, /* opaque */
|
|
86
|
+
uint16_t, /* vbucket */
|
|
87
|
+
uint8_t, /* opcode */
|
|
88
|
+
const char*, /* key */
|
|
89
|
+
size_t, /* nkey */
|
|
90
|
+
uint32_t); /* expiration */
|
|
91
|
+
probe touch_end(uint32_t, /* opaque */
|
|
92
|
+
uint16_t, /* vbucket */
|
|
93
|
+
uint8_t, /* opcode */
|
|
94
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
95
|
+
const char*, /* key */
|
|
96
|
+
size_t, /* nkey */
|
|
97
|
+
uint64_t); /* cas */
|
|
98
|
+
|
|
99
|
+
probe remove_begin(uint32_t, /* opaque */
|
|
100
|
+
uint16_t, /* vbucket */
|
|
101
|
+
uint8_t, /* opcode */
|
|
102
|
+
const char*, /* key */
|
|
103
|
+
size_t); /* nkey */
|
|
104
|
+
probe remove_end(uint32_t, /* opaque */
|
|
105
|
+
uint16_t, /* vbucket */
|
|
106
|
+
uint8_t, /* opcode */
|
|
107
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
108
|
+
const char*, /* key */
|
|
109
|
+
size_t, /* nkey */
|
|
110
|
+
uint64_t); /* cas */
|
|
111
|
+
|
|
112
|
+
probe flush_begin(uint32_t, /* opaque */
|
|
113
|
+
uint16_t, /* vbucket */
|
|
114
|
+
uint8_t, /* opcode */
|
|
115
|
+
const char*); /* server_endpoint */
|
|
116
|
+
probe flush_progress(uint32_t, /* opaque */
|
|
117
|
+
uint16_t, /* vbucket */
|
|
118
|
+
uint8_t, /* opcode */
|
|
119
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
120
|
+
const char*); /* server_endpoint */
|
|
121
|
+
probe flush_end(uint32_t, /* opaque */
|
|
122
|
+
uint16_t, /* vbucket */
|
|
123
|
+
uint8_t, /* opcode */
|
|
124
|
+
uint16_t); /* return code (from libcouchbase) */
|
|
125
|
+
|
|
126
|
+
probe versions_begin(uint32_t, /* opaque */
|
|
127
|
+
uint16_t, /* vbucket */
|
|
128
|
+
uint8_t, /* opcode */
|
|
129
|
+
const char*); /* server_endpoint */
|
|
130
|
+
probe versions_progress(uint32_t, /* opaque */
|
|
131
|
+
uint16_t, /* vbucket */
|
|
132
|
+
uint8_t, /* opcode */
|
|
133
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
134
|
+
const char*); /* server_endpoint */
|
|
135
|
+
probe versions_end(uint32_t, /* opaque */
|
|
136
|
+
uint16_t, /* vbucket */
|
|
137
|
+
uint8_t, /* opcode */
|
|
138
|
+
uint16_t); /* return code (from libcouchbase) */
|
|
139
|
+
|
|
140
|
+
probe stats_begin(uint32_t, /* opaque */
|
|
141
|
+
uint16_t, /* vbucket */
|
|
142
|
+
uint8_t, /* opcode */
|
|
143
|
+
const char*, /* server_endpoint */
|
|
144
|
+
const char*, /* arg */
|
|
145
|
+
size_t); /* narg */
|
|
146
|
+
probe stats_progress(uint32_t, /* opaque */
|
|
147
|
+
uint16_t, /* vbucket */
|
|
148
|
+
uint8_t, /* opcode */
|
|
149
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
150
|
+
const char*, /* server_endpoint */
|
|
151
|
+
const char*, /* key */
|
|
152
|
+
size_t, /* nkey */
|
|
153
|
+
const char*, /* bytes */
|
|
154
|
+
size_t); /* nbytes */
|
|
155
|
+
probe stats_end(uint32_t, /* opaque */
|
|
156
|
+
uint16_t, /* vbucket */
|
|
157
|
+
uint8_t, /* opcode */
|
|
158
|
+
uint16_t); /* return code (from libcouchbase) */
|
|
159
|
+
|
|
160
|
+
probe verbosity_begin(uint32_t, /* opaque */
|
|
161
|
+
uint16_t, /* vbucket */
|
|
162
|
+
uint8_t, /* opcode */
|
|
163
|
+
const char*, /* server_endpoint */
|
|
164
|
+
uint32_t); /* level */
|
|
165
|
+
probe verbosity_end(uint32_t, /* opaque */
|
|
166
|
+
uint16_t, /* vbucket */
|
|
167
|
+
uint8_t, /* opcode */
|
|
168
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
169
|
+
const char*); /* server_endpoint */
|
|
170
|
+
|
|
171
|
+
/*
|
|
172
|
+
* OBSERVE_BEGIN probe intended to be parsed in the handler.
|
|
173
|
+
* the bytes argument is a blob with nbytes length:
|
|
174
|
+
*
|
|
175
|
+
* +---------+---------+------------+----
|
|
176
|
+
* | 16 bits | 16 bits | nkey bytes | ...
|
|
177
|
+
* +---------+---------+------------+----
|
|
178
|
+
* | vbucket | nkey | key | ...
|
|
179
|
+
* +---------+---------+------------+----
|
|
180
|
+
*/
|
|
181
|
+
probe observe_begin(uint32_t, /* opaque */
|
|
182
|
+
uint16_t, /* vbucket */
|
|
183
|
+
uint8_t, /* opcode */
|
|
184
|
+
const char*, /* bytes */
|
|
185
|
+
size_t); /* nbytes */
|
|
186
|
+
probe observe_progress(uint32_t, /* opaque */
|
|
187
|
+
uint16_t, /* vbucket */
|
|
188
|
+
uint8_t, /* opcode */
|
|
189
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
190
|
+
const char*, /* key */
|
|
191
|
+
size_t, /* nkey */
|
|
192
|
+
uint64_t, /* cas */
|
|
193
|
+
uint8_t, /* observe status: FOUND = 0x00, PERSISTED = 0x01, NOT_FOUND = 0x80 */
|
|
194
|
+
uint8_t, /* master (zero if from replica) */
|
|
195
|
+
uint32_t, /* ttp, time to persist */
|
|
196
|
+
uint32_t); /* ttr, time to replicate */
|
|
197
|
+
probe observe_end(uint32_t, /* opaque */
|
|
198
|
+
uint16_t, /* vbucket */
|
|
199
|
+
uint8_t, /* opcode */
|
|
200
|
+
uint16_t); /* return code (from libcouchbase) */
|
|
201
|
+
|
|
202
|
+
probe http_begin(const char*, /* url */
|
|
203
|
+
size_t, /* nurl */
|
|
204
|
+
uint8_t); /* method: GET = 0, POST = 1, PUT = 2, DELETE = 3 */
|
|
205
|
+
probe http_end(const char*, /* url */
|
|
206
|
+
size_t, /* nurl */
|
|
207
|
+
uint8_t, /* method: GET = 0, POST = 1, PUT = 2, DELETE = 3 */
|
|
208
|
+
uint16_t, /* return code (from libcouchbase) */
|
|
209
|
+
uint16_t); /* HTTP status code or zero */
|
|
210
|
+
|
|
211
|
+
};
|