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.
Files changed (561) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +35 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +24 -0
  8. data/README.md +389 -0
  9. data/Rakefile +75 -0
  10. data/ext/README.md +6 -0
  11. data/ext/Rakefile +20 -0
  12. data/ext/libcouchbase/.gitignore +130 -0
  13. data/ext/libcouchbase/.travis.yml +19 -0
  14. data/ext/libcouchbase/CMakeLists.txt +429 -0
  15. data/ext/libcouchbase/CONTRIBUTING.md +124 -0
  16. data/ext/libcouchbase/LICENSE +202 -0
  17. data/ext/libcouchbase/README.markdown +163 -0
  18. data/ext/libcouchbase/RELEASE_NOTES.markdown +2691 -0
  19. data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +27 -0
  20. data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
  21. data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
  22. data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +20 -0
  23. data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
  24. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
  25. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +52 -0
  26. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +56 -0
  27. data/ext/libcouchbase/cmake/Modules/FindCouchbaseSnappy.cmake +11 -0
  28. data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +29 -0
  29. data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +133 -0
  30. data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
  31. data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
  32. data/ext/libcouchbase/cmake/config-cmake.h.in +60 -0
  33. data/ext/libcouchbase/cmake/configure +357 -0
  34. data/ext/libcouchbase/cmake/defs.mk.in +8 -0
  35. data/ext/libcouchbase/cmake/dtrace-instr-link.pl +38 -0
  36. data/ext/libcouchbase/cmake/source_files.cmake +73 -0
  37. data/ext/libcouchbase/configure.pl +1 -0
  38. data/ext/libcouchbase/contrib/cJSON/cJSON.c +624 -0
  39. data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
  40. data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +9 -0
  41. data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
  42. data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +217 -0
  43. data/ext/libcouchbase/contrib/cbsasl/src/client.c +205 -0
  44. data/ext/libcouchbase/contrib/cbsasl/src/common.c +46 -0
  45. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
  46. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
  47. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
  48. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
  49. data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
  50. data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
  51. data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
  52. data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
  53. data/ext/libcouchbase/contrib/cliopts/cliopts.c +747 -0
  54. data/ext/libcouchbase/contrib/cliopts/cliopts.h +493 -0
  55. data/ext/libcouchbase/contrib/genhash/genhash.c +372 -0
  56. data/ext/libcouchbase/contrib/genhash/genhash.h +235 -0
  57. data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
  58. data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
  59. data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
  60. data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
  61. data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
  62. data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
  63. data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
  64. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
  65. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
  66. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
  67. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
  68. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
  69. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
  70. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
  71. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
  72. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
  73. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
  74. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
  75. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
  76. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
  77. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
  78. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
  79. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
  80. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
  81. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
  82. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
  83. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
  84. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
  85. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
  86. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
  87. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
  88. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
  89. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
  90. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
  91. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
  92. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
  93. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
  94. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
  95. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
  96. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
  97. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
  98. data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
  99. data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
  100. data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
  101. data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
  102. data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
  103. data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
  104. data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
  105. data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
  106. data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
  107. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
  108. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4892 -0
  109. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
  110. data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +8 -0
  111. data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
  112. data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
  113. data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
  114. data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
  115. data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
  116. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +71 -0
  117. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
  118. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
  119. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
  120. data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +98 -0
  121. data/ext/libcouchbase/contrib/snappy/snappy.cc +1307 -0
  122. data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
  123. data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
  124. data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
  125. data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
  126. data/ext/libcouchbase/example/CMakeLists.txt +37 -0
  127. data/ext/libcouchbase/example/README.markdown +47 -0
  128. data/ext/libcouchbase/example/db/db.c +167 -0
  129. data/ext/libcouchbase/example/db/vb.c +227 -0
  130. data/ext/libcouchbase/example/instancepool/main.cc +102 -0
  131. data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
  132. data/ext/libcouchbase/example/instancepool/pool.h +69 -0
  133. data/ext/libcouchbase/example/libeventdirect/main.c +148 -0
  134. data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
  135. data/ext/libcouchbase/example/minimal/minimal.c +130 -0
  136. data/ext/libcouchbase/example/observe/observe.c +146 -0
  137. data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +132 -0
  138. data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +191 -0
  139. data/ext/libcouchbase/example/tick/tick.c +119 -0
  140. data/ext/libcouchbase/example/views/views-example.cc +83 -0
  141. data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
  142. data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
  143. data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
  144. data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
  145. data/ext/libcouchbase/include/libcouchbase/cbft.h +109 -0
  146. data/ext/libcouchbase/include/libcouchbase/cntl-private.h +356 -0
  147. data/ext/libcouchbase/include/libcouchbase/cntl.h +937 -0
  148. data/ext/libcouchbase/include/libcouchbase/configuration.h.in +23 -0
  149. data/ext/libcouchbase/include/libcouchbase/couchbase.h +3677 -0
  150. data/ext/libcouchbase/include/libcouchbase/deprecated.h +300 -0
  151. data/ext/libcouchbase/include/libcouchbase/error.h +595 -0
  152. data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
  153. data/ext/libcouchbase/include/libcouchbase/iops.h +1050 -0
  154. data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
  155. data/ext/libcouchbase/include/libcouchbase/kvbuf.h +132 -0
  156. data/ext/libcouchbase/include/libcouchbase/n1ql.h +364 -0
  157. data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
  158. data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +367 -0
  159. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
  160. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
  161. data/ext/libcouchbase/include/libcouchbase/subdoc.h +312 -0
  162. data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
  163. data/ext/libcouchbase/include/libcouchbase/vbucket.h +643 -0
  164. data/ext/libcouchbase/include/libcouchbase/views.h +298 -0
  165. data/ext/libcouchbase/include/libcouchbase/visibility.h +65 -0
  166. data/ext/libcouchbase/include/memcached/COPYING +30 -0
  167. data/ext/libcouchbase/include/memcached/README +10 -0
  168. data/ext/libcouchbase/include/memcached/protocol_binary.h +1916 -0
  169. data/ext/libcouchbase/include/memcached/vbucket.h +42 -0
  170. data/ext/libcouchbase/packaging/README +7 -0
  171. data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
  172. data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
  173. data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
  174. data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
  175. data/ext/libcouchbase/packaging/deb/compat +1 -0
  176. data/ext/libcouchbase/packaging/deb/control +73 -0
  177. data/ext/libcouchbase/packaging/deb/copyright +10 -0
  178. data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
  179. data/ext/libcouchbase/packaging/deb/package.mk +31 -0
  180. data/ext/libcouchbase/packaging/deb/rules +46 -0
  181. data/ext/libcouchbase/packaging/deb/source/format +1 -0
  182. data/ext/libcouchbase/packaging/distinfo/README +1 -0
  183. data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
  184. data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
  185. data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
  186. data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
  187. data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
  188. data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +108 -0
  189. data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
  190. data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
  191. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +466 -0
  192. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
  193. data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
  194. data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
  195. data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
  196. data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +29 -0
  197. data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +65 -0
  198. data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
  199. data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +29 -0
  200. data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
  201. data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
  202. data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +42 -0
  203. data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +212 -0
  204. data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
  205. data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +148 -0
  206. data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +648 -0
  207. data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +11 -0
  208. data/ext/libcouchbase/plugins/io/select/plugin-select.c +448 -0
  209. data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
  210. data/ext/libcouchbase/src/README.md +103 -0
  211. data/ext/libcouchbase/src/aspend.h +106 -0
  212. data/ext/libcouchbase/src/auth.cc +74 -0
  213. data/ext/libcouchbase/src/auth.h +54 -0
  214. data/ext/libcouchbase/src/bootstrap.c +269 -0
  215. data/ext/libcouchbase/src/bootstrap.h +129 -0
  216. data/ext/libcouchbase/src/bucketconfig/bc_cccp.c +495 -0
  217. data/ext/libcouchbase/src/bucketconfig/bc_file.c +347 -0
  218. data/ext/libcouchbase/src/bucketconfig/bc_http.c +630 -0
  219. data/ext/libcouchbase/src/bucketconfig/bc_http.h +82 -0
  220. data/ext/libcouchbase/src/bucketconfig/bc_mcraw.c +150 -0
  221. data/ext/libcouchbase/src/bucketconfig/clconfig.h +681 -0
  222. data/ext/libcouchbase/src/bucketconfig/confmon.c +474 -0
  223. data/ext/libcouchbase/src/callbacks.c +378 -0
  224. data/ext/libcouchbase/src/cbft.cc +210 -0
  225. data/ext/libcouchbase/src/cntl.cc +847 -0
  226. data/ext/libcouchbase/src/config_static.h +159 -0
  227. data/ext/libcouchbase/src/connspec.cc +462 -0
  228. data/ext/libcouchbase/src/connspec.h +105 -0
  229. data/ext/libcouchbase/src/ctx-log-inl.h +27 -0
  230. data/ext/libcouchbase/src/dump.c +98 -0
  231. data/ext/libcouchbase/src/getconfig.c +100 -0
  232. data/ext/libcouchbase/src/gethrtime.c +109 -0
  233. data/ext/libcouchbase/src/handler.c +922 -0
  234. data/ext/libcouchbase/src/hashset.c +164 -0
  235. data/ext/libcouchbase/src/hashset.h +86 -0
  236. data/ext/libcouchbase/src/hashtable.c +75 -0
  237. data/ext/libcouchbase/src/hdr_timings.c +92 -0
  238. data/ext/libcouchbase/src/hostlist.cc +301 -0
  239. data/ext/libcouchbase/src/hostlist.h +171 -0
  240. data/ext/libcouchbase/src/http/http-priv.h +307 -0
  241. data/ext/libcouchbase/src/http/http.cc +633 -0
  242. data/ext/libcouchbase/src/http/http.h +34 -0
  243. data/ext/libcouchbase/src/http/http_io.cc +307 -0
  244. data/ext/libcouchbase/src/instance.cc +722 -0
  245. data/ext/libcouchbase/src/internal.h +244 -0
  246. data/ext/libcouchbase/src/iofactory.c +575 -0
  247. data/ext/libcouchbase/src/jsparse/parser.cc +519 -0
  248. data/ext/libcouchbase/src/jsparse/parser.h +173 -0
  249. data/ext/libcouchbase/src/lcbht/lcbht.c +282 -0
  250. data/ext/libcouchbase/src/lcbht/lcbht.h +199 -0
  251. data/ext/libcouchbase/src/lcbio/connect.c +557 -0
  252. data/ext/libcouchbase/src/lcbio/connect.h +364 -0
  253. data/ext/libcouchbase/src/lcbio/ctx.c +611 -0
  254. data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
  255. data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
  256. data/ext/libcouchbase/src/lcbio/iotable.h +84 -0
  257. data/ext/libcouchbase/src/lcbio/ioutils.c +350 -0
  258. data/ext/libcouchbase/src/lcbio/ioutils.h +203 -0
  259. data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
  260. data/ext/libcouchbase/src/lcbio/manager.c +584 -0
  261. data/ext/libcouchbase/src/lcbio/manager.h +156 -0
  262. data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
  263. data/ext/libcouchbase/src/lcbio/rw-inl.h +115 -0
  264. data/ext/libcouchbase/src/lcbio/ssl.h +149 -0
  265. data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
  266. data/ext/libcouchbase/src/lcbio/timer.c +132 -0
  267. data/ext/libcouchbase/src/legacy.c +430 -0
  268. data/ext/libcouchbase/src/list.c +144 -0
  269. data/ext/libcouchbase/src/list.h +127 -0
  270. data/ext/libcouchbase/src/logging.c +244 -0
  271. data/ext/libcouchbase/src/logging.h +86 -0
  272. data/ext/libcouchbase/src/mc/compress.c +90 -0
  273. data/ext/libcouchbase/src/mc/compress.h +61 -0
  274. data/ext/libcouchbase/src/mc/forward.c +186 -0
  275. data/ext/libcouchbase/src/mc/forward.h +90 -0
  276. data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
  277. data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
  278. data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +111 -0
  279. data/ext/libcouchbase/src/mc/mcreq.c +954 -0
  280. data/ext/libcouchbase/src/mc/mcreq.h +977 -0
  281. data/ext/libcouchbase/src/mcserver/mcserver.c +784 -0
  282. data/ext/libcouchbase/src/mcserver/mcserver.h +121 -0
  283. data/ext/libcouchbase/src/mcserver/negotiate.c +656 -0
  284. data/ext/libcouchbase/src/mcserver/negotiate.h +119 -0
  285. data/ext/libcouchbase/src/n1ql/ixmgmt.cc +860 -0
  286. data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
  287. data/ext/libcouchbase/src/n1ql/n1ql.cc +729 -0
  288. data/ext/libcouchbase/src/n1ql/params.cc +215 -0
  289. data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
  290. data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
  291. data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
  292. data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
  293. data/ext/libcouchbase/src/newconfig.c +385 -0
  294. data/ext/libcouchbase/src/nodeinfo.cc +194 -0
  295. data/ext/libcouchbase/src/operations/cbflush.c +71 -0
  296. data/ext/libcouchbase/src/operations/counter.c +116 -0
  297. data/ext/libcouchbase/src/operations/durability-cas.c +224 -0
  298. data/ext/libcouchbase/src/operations/durability-seqno.c +157 -0
  299. data/ext/libcouchbase/src/operations/durability.c +668 -0
  300. data/ext/libcouchbase/src/operations/durability_internal.h +199 -0
  301. data/ext/libcouchbase/src/operations/get.c +409 -0
  302. data/ext/libcouchbase/src/operations/observe-seqno.c +96 -0
  303. data/ext/libcouchbase/src/operations/observe.c +340 -0
  304. data/ext/libcouchbase/src/operations/pktfwd.c +86 -0
  305. data/ext/libcouchbase/src/operations/remove.c +83 -0
  306. data/ext/libcouchbase/src/operations/stats.c +461 -0
  307. data/ext/libcouchbase/src/operations/store.c +360 -0
  308. data/ext/libcouchbase/src/operations/subdoc.cc +510 -0
  309. data/ext/libcouchbase/src/operations/touch.c +81 -0
  310. data/ext/libcouchbase/src/packetutils.c +60 -0
  311. data/ext/libcouchbase/src/packetutils.h +147 -0
  312. data/ext/libcouchbase/src/probes.d +211 -0
  313. data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
  314. data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
  315. data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
  316. data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
  317. data/ext/libcouchbase/src/rdb/rope.c +419 -0
  318. data/ext/libcouchbase/src/rdb/rope.h +488 -0
  319. data/ext/libcouchbase/src/retrychk.c +113 -0
  320. data/ext/libcouchbase/src/retryq.c +424 -0
  321. data/ext/libcouchbase/src/retryq.h +157 -0
  322. data/ext/libcouchbase/src/ringbuffer.c +442 -0
  323. data/ext/libcouchbase/src/ringbuffer.h +100 -0
  324. data/ext/libcouchbase/src/settings.c +95 -0
  325. data/ext/libcouchbase/src/settings.h +188 -0
  326. data/ext/libcouchbase/src/simplestring.c +211 -0
  327. data/ext/libcouchbase/src/simplestring.h +228 -0
  328. data/ext/libcouchbase/src/sllist-inl.h +197 -0
  329. data/ext/libcouchbase/src/sllist.h +76 -0
  330. data/ext/libcouchbase/src/ssl/CMakeLists.txt +23 -0
  331. data/ext/libcouchbase/src/ssl/ssl_c.c +415 -0
  332. data/ext/libcouchbase/src/ssl/ssl_common.c +454 -0
  333. data/ext/libcouchbase/src/ssl/ssl_e.c +408 -0
  334. data/ext/libcouchbase/src/ssl/ssl_iot_common.h +180 -0
  335. data/ext/libcouchbase/src/ssobuf.h +82 -0
  336. data/ext/libcouchbase/src/strcodecs/base64.c +123 -0
  337. data/ext/libcouchbase/src/strcodecs/strcodecs.h +285 -0
  338. data/ext/libcouchbase/src/timings.c +208 -0
  339. data/ext/libcouchbase/src/trace.h +105 -0
  340. data/ext/libcouchbase/src/utilities.c +171 -0
  341. data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
  342. data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
  343. data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
  344. data/ext/libcouchbase/src/vbucket/hash.h +30 -0
  345. data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
  346. data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
  347. data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
  348. data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
  349. data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
  350. data/ext/libcouchbase/src/vbucket/vbucket.c +1543 -0
  351. data/ext/libcouchbase/src/views/docreq.c +194 -0
  352. data/ext/libcouchbase/src/views/docreq.h +83 -0
  353. data/ext/libcouchbase/src/views/viewreq.c +358 -0
  354. data/ext/libcouchbase/src/views/viewreq.h +36 -0
  355. data/ext/libcouchbase/src/wait.c +161 -0
  356. data/ext/libcouchbase/tests/CMakeLists.txt +140 -0
  357. data/ext/libcouchbase/tests/basic/t_base64.cc +81 -0
  358. data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
  359. data/ext/libcouchbase/tests/basic/t_connstr.cc +404 -0
  360. data/ext/libcouchbase/tests/basic/t_creds.cc +32 -0
  361. data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
  362. data/ext/libcouchbase/tests/basic/t_hashset.cc +262 -0
  363. data/ext/libcouchbase/tests/basic/t_host.cc +198 -0
  364. data/ext/libcouchbase/tests/basic/t_jsparse.cc +137 -0
  365. data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
  366. data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
  367. data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
  368. data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
  369. data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +18 -0
  370. data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
  371. data/ext/libcouchbase/tests/basic/t_packet.cc +222 -0
  372. data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
  373. data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
  374. data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
  375. data/ext/libcouchbase/tests/basic/t_string.cc +112 -0
  376. data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
  377. data/ext/libcouchbase/tests/check-all.cc +608 -0
  378. data/ext/libcouchbase/tests/htparse/t_basic.cc +193 -0
  379. data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
  380. data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
  381. data/ext/libcouchbase/tests/ioserver/ioserver.cc +104 -0
  382. data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
  383. data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
  384. data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
  385. data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
  386. data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
  387. data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
  388. data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
  389. data/ext/libcouchbase/tests/iotests/mock-environment.cc +524 -0
  390. data/ext/libcouchbase/tests/iotests/mock-environment.h +385 -0
  391. data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
  392. data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
  393. data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
  394. data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
  395. data/ext/libcouchbase/tests/iotests/t_behavior.cc +226 -0
  396. data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
  397. data/ext/libcouchbase/tests/iotests/t_confmon.cc +241 -0
  398. data/ext/libcouchbase/tests/iotests/t_durability.cc +1059 -0
  399. data/ext/libcouchbase/tests/iotests/t_forward.cc +110 -0
  400. data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
  401. data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
  402. data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
  403. data/ext/libcouchbase/tests/iotests/t_lock.cc +275 -0
  404. data/ext/libcouchbase/tests/iotests/t_misc.cc +713 -0
  405. data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
  406. data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
  407. data/ext/libcouchbase/tests/iotests/t_netfail.cc +654 -0
  408. data/ext/libcouchbase/tests/iotests/t_obseqno.cc +157 -0
  409. data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
  410. data/ext/libcouchbase/tests/iotests/t_sched.cc +88 -0
  411. data/ext/libcouchbase/tests/iotests/t_serverops.cc +230 -0
  412. data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
  413. data/ext/libcouchbase/tests/iotests/t_subdoc.cc +822 -0
  414. data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
  415. data/ext/libcouchbase/tests/iotests/t_views.cc +405 -0
  416. data/ext/libcouchbase/tests/iotests/testutil.cc +250 -0
  417. data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
  418. data/ext/libcouchbase/tests/mc/mctest.h +119 -0
  419. data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
  420. data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
  421. data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
  422. data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
  423. data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
  424. data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
  425. data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
  426. data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
  427. data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
  428. data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
  429. data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
  430. data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
  431. data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
  432. data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
  433. data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
  434. data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
  435. data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
  436. data/ext/libcouchbase/tests/socktests/socktest.cc +347 -0
  437. data/ext/libcouchbase/tests/socktests/socktest.h +448 -0
  438. data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
  439. data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
  440. data/ext/libcouchbase/tests/socktests/t_manager.cc +179 -0
  441. data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
  442. data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
  443. data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
  444. data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
  445. data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
  446. data/ext/libcouchbase/tests/start_mock.bat +15 -0
  447. data/ext/libcouchbase/tests/start_mock.sh +42 -0
  448. data/ext/libcouchbase/tests/unit_tests.cc +43 -0
  449. data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
  450. data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
  451. data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
  452. data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
  453. data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
  454. data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
  455. data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
  456. data/ext/libcouchbase/tests/vbucket/t_config.cc +341 -0
  457. data/ext/libcouchbase/tools/CMakeLists.txt +51 -0
  458. data/ext/libcouchbase/tools/cbc-handlers.h +462 -0
  459. data/ext/libcouchbase/tools/cbc-n1qlback.cc +439 -0
  460. data/ext/libcouchbase/tools/cbc-pillowfight.cc +822 -0
  461. data/ext/libcouchbase/tools/cbc.cc +1541 -0
  462. data/ext/libcouchbase/tools/common/histogram.cc +43 -0
  463. data/ext/libcouchbase/tools/common/histogram.h +23 -0
  464. data/ext/libcouchbase/tools/common/my_inttypes.h +22 -0
  465. data/ext/libcouchbase/tools/common/options.cc +420 -0
  466. data/ext/libcouchbase/tools/common/options.h +81 -0
  467. data/ext/libcouchbase/tools/docgen/docgen.h +469 -0
  468. data/ext/libcouchbase/tools/docgen/loc.h +210 -0
  469. data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
  470. data/ext/libcouchbase/tools/docgen/seqgen.h +94 -0
  471. data/lib/libcouchbase.rb +36 -0
  472. data/lib/libcouchbase/bucket.rb +819 -0
  473. data/lib/libcouchbase/callbacks.rb +72 -0
  474. data/lib/libcouchbase/connection.rb +790 -0
  475. data/lib/libcouchbase/design_docs.rb +86 -0
  476. data/lib/libcouchbase/error.rb +68 -0
  477. data/lib/libcouchbase/ext/libcouchbase.rb +1135 -0
  478. data/lib/libcouchbase/ext/libcouchbase/cmdbase.rb +23 -0
  479. data/lib/libcouchbase/ext/libcouchbase/cmdcounter.rb +36 -0
  480. data/lib/libcouchbase/ext/libcouchbase/cmdendure.rb +26 -0
  481. data/lib/libcouchbase/ext/libcouchbase/cmdfts.rb +24 -0
  482. data/lib/libcouchbase/ext/libcouchbase/cmdget.rb +30 -0
  483. data/lib/libcouchbase/ext/libcouchbase/cmdgetreplica.rb +49 -0
  484. data/lib/libcouchbase/ext/libcouchbase/cmdhttp.rb +58 -0
  485. data/lib/libcouchbase/ext/libcouchbase/cmdn1ql.rb +40 -0
  486. data/lib/libcouchbase/ext/libcouchbase/cmdobseqno.rb +33 -0
  487. data/lib/libcouchbase/ext/libcouchbase/cmdobserve.rb +30 -0
  488. data/lib/libcouchbase/ext/libcouchbase/cmdstore.rb +40 -0
  489. data/lib/libcouchbase/ext/libcouchbase/cmdstoredur.rb +45 -0
  490. data/lib/libcouchbase/ext/libcouchbase/cmdsubdoc.rb +49 -0
  491. data/lib/libcouchbase/ext/libcouchbase/cmdverbosity.rb +29 -0
  492. data/lib/libcouchbase/ext/libcouchbase/cmdviewquery.rb +61 -0
  493. data/lib/libcouchbase/ext/libcouchbase/contigbuf.rb +14 -0
  494. data/lib/libcouchbase/ext/libcouchbase/create_st.rb +15 -0
  495. data/lib/libcouchbase/ext/libcouchbase/create_st0.rb +23 -0
  496. data/lib/libcouchbase/ext/libcouchbase/create_st1.rb +26 -0
  497. data/lib/libcouchbase/ext/libcouchbase/create_st2.rb +32 -0
  498. data/lib/libcouchbase/ext/libcouchbase/create_st3.rb +26 -0
  499. data/lib/libcouchbase/ext/libcouchbase/crst_u.rb +20 -0
  500. data/lib/libcouchbase/ext/libcouchbase/durability_opts_st_v.rb +11 -0
  501. data/lib/libcouchbase/ext/libcouchbase/durability_opts_t.rb +14 -0
  502. data/lib/libcouchbase/ext/libcouchbase/durabilityopt_sv0.rb +63 -0
  503. data/lib/libcouchbase/ext/libcouchbase/enums.rb +991 -0
  504. data/lib/libcouchbase/ext/libcouchbase/fragbuf.rb +18 -0
  505. data/lib/libcouchbase/ext/libcouchbase/ftshandle.rb +7 -0
  506. data/lib/libcouchbase/ext/libcouchbase/histogram.rb +34 -0
  507. data/lib/libcouchbase/ext/libcouchbase/http_request_t.rb +7 -0
  508. data/lib/libcouchbase/ext/libcouchbase/keybuf.rb +20 -0
  509. data/lib/libcouchbase/ext/libcouchbase/multicmd_ctx.rb +30 -0
  510. data/lib/libcouchbase/ext/libcouchbase/mutation_token.rb +17 -0
  511. data/lib/libcouchbase/ext/libcouchbase/n1qlhandle.rb +7 -0
  512. data/lib/libcouchbase/ext/libcouchbase/n1qlparams.rb +7 -0
  513. data/lib/libcouchbase/ext/libcouchbase/respbase.rb +29 -0
  514. data/lib/libcouchbase/ext/libcouchbase/respcounter.rb +32 -0
  515. data/lib/libcouchbase/ext/libcouchbase/respendure.rb +49 -0
  516. data/lib/libcouchbase/ext/libcouchbase/respfts.rb +40 -0
  517. data/lib/libcouchbase/ext/libcouchbase/respget.rb +44 -0
  518. data/lib/libcouchbase/ext/libcouchbase/resphttp.rb +48 -0
  519. data/lib/libcouchbase/ext/libcouchbase/respmcversion.rb +38 -0
  520. data/lib/libcouchbase/ext/libcouchbase/respn1ql.rb +41 -0
  521. data/lib/libcouchbase/ext/libcouchbase/respobseqno.rb +52 -0
  522. data/lib/libcouchbase/ext/libcouchbase/respobserve.rb +41 -0
  523. data/lib/libcouchbase/ext/libcouchbase/respserverbase.rb +32 -0
  524. data/lib/libcouchbase/ext/libcouchbase/respstats.rb +38 -0
  525. data/lib/libcouchbase/ext/libcouchbase/respstore.rb +32 -0
  526. data/lib/libcouchbase/ext/libcouchbase/respstoredur.rb +38 -0
  527. data/lib/libcouchbase/ext/libcouchbase/respsubdoc.rb +35 -0
  528. data/lib/libcouchbase/ext/libcouchbase/respviewquery.rb +67 -0
  529. data/lib/libcouchbase/ext/libcouchbase/sdentry.rb +22 -0
  530. data/lib/libcouchbase/ext/libcouchbase/sdspec.rb +26 -0
  531. data/lib/libcouchbase/ext/libcouchbase/t.rb +7 -0
  532. data/lib/libcouchbase/ext/libcouchbase/valbuf.rb +22 -0
  533. data/lib/libcouchbase/ext/libcouchbase/valbuf_u_buf.rb +14 -0
  534. data/lib/libcouchbase/ext/libcouchbase/viewhandle.rb +7 -0
  535. data/lib/libcouchbase/ext/libcouchbase_iocp.rb +26 -0
  536. data/lib/libcouchbase/ext/libcouchbase_libuv.rb +18 -0
  537. data/lib/libcouchbase/ext/tasks.rb +87 -0
  538. data/lib/libcouchbase/n1ql.rb +73 -0
  539. data/lib/libcouchbase/query_full_text.rb +147 -0
  540. data/lib/libcouchbase/query_n1ql.rb +121 -0
  541. data/lib/libcouchbase/query_view.rb +129 -0
  542. data/lib/libcouchbase/results_fiber.rb +262 -0
  543. data/lib/libcouchbase/results_native.rb +211 -0
  544. data/lib/libcouchbase/version.rb +5 -0
  545. data/libcouchbase.gemspec +61 -0
  546. data/spec/bucket_spec.rb +270 -0
  547. data/spec/connection_spec.rb +277 -0
  548. data/spec/design_docs_spec.rb +23 -0
  549. data/spec/error_spec.rb +26 -0
  550. data/spec/fts_spec.rb +129 -0
  551. data/spec/n1ql_spec.rb +201 -0
  552. data/spec/results_libuv_spec.rb +229 -0
  553. data/spec/results_native_spec.rb +259 -0
  554. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
  555. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
  556. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
  557. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
  558. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
  559. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
  560. data/spec/view_spec.rb +195 -0
  561. metadata +775 -0
@@ -0,0 +1,49 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cmdflags ::
6
+ # (Integer)
7
+ # :exptime ::
8
+ # (Integer)
9
+ # :cas ::
10
+ # (Integer)
11
+ # :key ::
12
+ # (KEYBUF)
13
+ # :hashkey ::
14
+ # (KEYBUF)
15
+ # :specs ::
16
+ # (SDSPEC) An array of one or more command specifications. The storage
17
+ # for the array need only persist for the duration of the
18
+ # lcb_subdoc3() call.
19
+ #
20
+ # The specs array must be valid only through the invocation
21
+ # of lcb_subdoc3(). As such, they can reside on the stack and
22
+ # be re-used for scheduling multiple commands. See subdoc-simple.cc
23
+ # :nspecs ::
24
+ # (Integer) Number of entries in #specs
25
+ # :error_index ::
26
+ # (FFI::Pointer(*Int)) If the scheduling of the command failed, the index of the entry which
27
+ # caused the failure will be written to this pointer.
28
+ #
29
+ # If the value is -1 then the failure took place at the command level
30
+ # and not at the spec level.
31
+ # :multimode ::
32
+ # (Integer) Operation mode to use. This can either be @ref LCB_SDMULTI_MODE_LOOKUP
33
+ # or @ref LCB_SDMULTI_MODE_MUTATE.
34
+ #
35
+ # This field may be left empty, in which case the mode is implicitly
36
+ # derived from the _first_ command issued.
37
+ class CMDSUBDOC < FFI::Struct
38
+ layout :cmdflags, :uint,
39
+ :exptime, :uint,
40
+ :cas, :ulong_long,
41
+ :key, KEYBUF.by_value,
42
+ :hashkey, KEYBUF.by_value,
43
+ :specs, SDSPEC.by_ref,
44
+ :nspecs, :ulong,
45
+ :error_index, :pointer,
46
+ :multimode, :uint
47
+ end
48
+
49
+ end
@@ -0,0 +1,29 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cmdflags ::
6
+ # (Integer)
7
+ # :exptime ::
8
+ # (Integer)
9
+ # :cas ::
10
+ # (Integer)
11
+ # :key ::
12
+ # (KEYBUF)
13
+ # :hashkey ::
14
+ # (KEYBUF)
15
+ # :server ::
16
+ # (String)
17
+ # :level ::
18
+ # (VerbosityLevelT)
19
+ class CMDVERBOSITY < FFI::Struct
20
+ layout :cmdflags, :uint,
21
+ :exptime, :uint,
22
+ :cas, :ulong_long,
23
+ :key, KEYBUF.by_value,
24
+ :hashkey, KEYBUF.by_value,
25
+ :server, :string,
26
+ :level, VerbosityLevelT
27
+ end
28
+
29
+ end
@@ -0,0 +1,61 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cmdflags ::
6
+ # (Integer) Common command flags; e.g. @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS
7
+ # :ddoc ::
8
+ # (String) The design document as a string; e.g. `"beer"`
9
+ # :nddoc ::
10
+ # (Integer) Length of design document name
11
+ # :view ::
12
+ # (String) The name of the view as a string; e.g. `"brewery_beers"`
13
+ # :nview ::
14
+ # (Integer) Length of the view name
15
+ # :optstr ::
16
+ # (String) Any URL parameters to be passed to the view should be specified here.
17
+ # The library will internally insert a `?` character before the options
18
+ # (if specified), so do not place one yourself.
19
+ #
20
+ # The format of the options follows the standard for passing parameters
21
+ # via HTTP requests; thus e.g. `key1=value1&key2=value2`. This string
22
+ # is itself not parsed by the library but simply appended to the URL.
23
+ # :noptstr ::
24
+ # (Integer) Length of the option string
25
+ # :postdata ::
26
+ # (String) Some query parameters (in particular; 'keys') may be send via a POST
27
+ # request within the request body, since it might be too long for the
28
+ # URI itself. If you have such data, place it here.
29
+ # :npostdata ::
30
+ # (Integer)
31
+ # :docs_concurrent_max ::
32
+ # (Integer) The maximum number of internal get requests to issue concurrently for
33
+ # @c F_INCLUDE_DOCS. This is useful for large view responses where
34
+ # there is a potential for a large number of responses resulting in a large
35
+ # number of get requests; increasing memory usage.
36
+ #
37
+ # Setting this value will attempt to throttle the number of get requests,
38
+ # so that no more than this number of requests will be in progress at any
39
+ # given time.
40
+ # :callback ::
41
+ # (Proc(callback_viewquerycallback)) Callback to invoke for each row. If not provided, @ref LCB_EINVAL will
42
+ # be returned from lcb_view_query()
43
+ # :handle ::
44
+ # (FFI::Pointer(*VIEWHANDLE)) If not NULL, this will be set to a handle which may be passed to
45
+ # lcb_view_cancel(). See that function for more details
46
+ class CMDVIEWQUERY < FFI::Struct
47
+ layout :cmdflags, :uint,
48
+ :ddoc, :string,
49
+ :nddoc, :ulong,
50
+ :view, :string,
51
+ :nview, :ulong,
52
+ :optstr, :string,
53
+ :noptstr, :ulong,
54
+ :postdata, :string,
55
+ :npostdata, :ulong,
56
+ :docs_concurrent_max, :uint,
57
+ :callback, :viewquerycallback,
58
+ :handle, :pointer
59
+ end
60
+
61
+ end
@@ -0,0 +1,14 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :bytes ::
6
+ # (FFI::Pointer(*Void))
7
+ # :nbytes ::
8
+ # (Integer) Number of total bytes
9
+ class CONTIGBUF < FFI::Struct
10
+ layout :bytes, :pointer,
11
+ :nbytes, :ulong
12
+ end
13
+
14
+ end
@@ -0,0 +1,15 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :version ::
6
+ # (Integer) Indicates which field in the @ref lcb_CRST_u union should be used. Set this to `3`
7
+ # :v ::
8
+ # (CRSTU) This union contains the set of current and historical options. The
9
+ # The #v3 field should be used.
10
+ class CreateSt < FFI::Struct
11
+ layout :version, :int,
12
+ :v, CRSTU.by_value
13
+ end
14
+
15
+ end
@@ -0,0 +1,23 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :host ::
6
+ # (String)
7
+ # :user ::
8
+ # (String)
9
+ # :passwd ::
10
+ # (String)
11
+ # :bucket ::
12
+ # (String)
13
+ # :io ::
14
+ # (FFI::Pointer(*IoOptSt))
15
+ class CreateSt0 < FFI::Struct
16
+ layout :host, :string,
17
+ :user, :string,
18
+ :passwd, :string,
19
+ :bucket, :string,
20
+ :io, :pointer
21
+ end
22
+
23
+ end
@@ -0,0 +1,26 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :host ::
6
+ # (String)
7
+ # :user ::
8
+ # (String)
9
+ # :passwd ::
10
+ # (String)
11
+ # :bucket ::
12
+ # (String)
13
+ # :io ::
14
+ # (FFI::Pointer(*IoOptSt))
15
+ # :type ::
16
+ # (TypeT)
17
+ class CreateSt1 < FFI::Struct
18
+ layout :host, :string,
19
+ :user, :string,
20
+ :passwd, :string,
21
+ :bucket, :string,
22
+ :io, :pointer,
23
+ :type, TypeT
24
+ end
25
+
26
+ end
@@ -0,0 +1,32 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :host ::
6
+ # (String)
7
+ # :user ::
8
+ # (String)
9
+ # :passwd ::
10
+ # (String)
11
+ # :bucket ::
12
+ # (String)
13
+ # :io ::
14
+ # (FFI::Pointer(*IoOptSt))
15
+ # :type ::
16
+ # (TypeT)
17
+ # :mchosts ::
18
+ # (String)
19
+ # :transports ::
20
+ # (FFI::Pointer(*ConfigTransportT))
21
+ class CreateSt2 < FFI::Struct
22
+ layout :host, :string,
23
+ :user, :string,
24
+ :passwd, :string,
25
+ :bucket, :string,
26
+ :io, :pointer,
27
+ :type, TypeT,
28
+ :mchosts, :string,
29
+ :transports, :pointer
30
+ end
31
+
32
+ end
@@ -0,0 +1,26 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :connstr ::
6
+ # (String) < Connection string
7
+ # :username ::
8
+ # (String) < Username for bucket. Unused as of Server 2.5
9
+ # :passwd ::
10
+ # (String) < Password for bucket
11
+ # :pad_bucket ::
12
+ # (FFI::Pointer(*Void)) < @private
13
+ # :io ::
14
+ # (FFI::Pointer(*IoOptSt)) < IO Options
15
+ # :type ::
16
+ # (TypeT)
17
+ class CreateSt3 < FFI::Struct
18
+ layout :connstr, :pointer,
19
+ :username, :pointer,
20
+ :passwd, :pointer,
21
+ :pad_bucket, :pointer,
22
+ :io, :pointer,
23
+ :type, TypeT
24
+ end
25
+
26
+ end
@@ -0,0 +1,20 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :v0 ::
6
+ # (CreateSt0)
7
+ # :v1 ::
8
+ # (CreateSt1)
9
+ # :v2 ::
10
+ # (CreateSt2)
11
+ # :v3 ::
12
+ # (CreateSt3) < Use this field
13
+ class CRSTU < FFI::Union
14
+ layout :v0, CreateSt0.by_value,
15
+ :v1, CreateSt1.by_value,
16
+ :v2, CreateSt2.by_value,
17
+ :v3, CreateSt3.by_value
18
+ end
19
+
20
+ end
@@ -0,0 +1,11 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :v0 ::
6
+ # (DURABILITYOPTSv0)
7
+ class DurabilityOptsStV < FFI::Union
8
+ layout :v0, DURABILITYOPTSv0.by_value
9
+ end
10
+
11
+ end
@@ -0,0 +1,14 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :version ::
6
+ # (Integer)
7
+ # :v ::
8
+ # (DurabilityOptsStV)
9
+ class DurabilityOptsT < FFI::Struct
10
+ layout :version, :int,
11
+ :v, DurabilityOptsStV.by_value
12
+ end
13
+
14
+ end
@@ -0,0 +1,63 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :timeout ::
6
+ # (Integer) Upper limit in microseconds from the scheduling of the command. When
7
+ # this timeout occurs, all remaining non-verified keys will have their
8
+ # callbacks invoked with @ref LCB_ETIMEDOUT.
9
+ #
10
+ # If this field is not set, the value of @ref LCB_CNTL_DURABILITY_TIMEOUT
11
+ # will be used.
12
+ # :interval ::
13
+ # (Integer) The durability check may involve more than a single call to observe - or
14
+ # more than a single packet sent to a server to check the key status. This
15
+ # value determines the time to wait (in microseconds)
16
+ # between multiple probes for the same server.
17
+ # If not set, the @ref LCB_CNTL_DURABILITY_INTERVAL will be used
18
+ # instead.
19
+ # :persist_to ::
20
+ # (Integer) how many nodes the key should be persisted to (including master).
21
+ # If set to 0 then persistence will not be checked. If set to a large
22
+ # number (i.e. UINT16_MAX) and #cap_max is also set, will be set to the
23
+ # maximum number of nodes to which persistence is possible (which will
24
+ # always contain at least the master node).
25
+ #
26
+ # The maximum valid value for this field is
27
+ # 1 + the total number of configured replicas for the bucket which are part
28
+ # of the cluster. If this number is higher then it will either be
29
+ # automatically capped to the maximum available if (#cap_max is set) or
30
+ # will result in an ::LCB_DURABILITY_ETOOMANY error.
31
+ # :replicate_to ::
32
+ # (Integer) how many nodes the key should be persisted to (excluding master).
33
+ # If set to 0 then replication will not be checked. If set to a large
34
+ # number (i.e. UINT16_MAX) and #cap_max is also set, will be set to the
35
+ # maximum number of nodes to which replication is possible (which may
36
+ # be 0 if the bucket is not configured for replicas).
37
+ #
38
+ # The maximum valid value for this field is the total number of configured
39
+ # replicas which are part of the cluster. If this number is higher then
40
+ # it will either be automatically capped to the maximum available
41
+ # if (#cap_max is set) or will result in an ::LCB_DURABILITY_ETOOMANY
42
+ # error.
43
+ # :check_delete ::
44
+ # (Integer) this flag inverts the sense of the durability check and ensures that
45
+ # the key does *not* exist. This should be used if checking durability
46
+ # after an lcb_remove3() operation.
47
+ # :cap_max ::
48
+ # (Integer) If replication/persistence requirements are excessive, cap to
49
+ # the maximum available
50
+ # :pollopts ::
51
+ # (Integer) Set the polling method to use.
52
+ # The value for this field should be one of the @ref lcb_DURMODE constants.
53
+ class DURABILITYOPTSv0 < FFI::Struct
54
+ layout :timeout, :uint,
55
+ :interval, :uint,
56
+ :persist_to, :ushort,
57
+ :replicate_to, :ushort,
58
+ :check_delete, :uchar,
59
+ :cap_max, :uchar,
60
+ :pollopts, :uchar
61
+ end
62
+
63
+ end
@@ -0,0 +1,991 @@
1
+ module Libcouchbase::Ext
2
+ extend FFI::Library
3
+ # (Not documented)
4
+ #
5
+ # ## Options:
6
+ # :errtype_input ::
7
+ # Error type indicating a likely issue in user input
8
+ # :errtype_network ::
9
+ # Error type indicating a likely network failure
10
+ # :errtype_fatal ::
11
+ # Error type indicating a fatal condition within the server or library
12
+ # :errtype_transient ::
13
+ # Error type indicating a transient condition within the server
14
+ # :errtype_dataop ::
15
+ # Error type indicating a negative server reply for the data
16
+ # :errtype_internal ::
17
+ # Error codes which should never be visible to the user
18
+ # :errtype_plugin ::
19
+ # Error code indicating a plugin failure
20
+ # :errtype_srvload ::
21
+ # Error code indicating the server is under load
22
+ # :errtype_srvgen ::
23
+ # Error code indicating the server generated this message
24
+ # :errtype_subdoc ::
25
+ # Error code indicates document (fulldoc) access ok, but
26
+ # error in performing subdocument operation. Note that this only
27
+ # covers errors which relate to a specific operation, rather than
28
+ # operations which prevent _any_ subdoc operation from executing.
29
+ #
30
+ # @method `enum_errflags_t`
31
+ # @return [Symbol]
32
+ # @scope class
33
+ #
34
+ ErrflagsT = enum [
35
+ :errtype_input, 1,
36
+ :errtype_network, 2,
37
+ :errtype_fatal, 4,
38
+ :errtype_transient, 8,
39
+ :errtype_dataop, 16,
40
+ :errtype_internal, 32,
41
+ :errtype_plugin, 64,
42
+ :errtype_srvload, 128,
43
+ :errtype_srvgen, 256,
44
+ :errtype_subdoc, 512
45
+ ]
46
+
47
+ # (Not documented)
48
+ #
49
+ # ## Options:
50
+ # :kv_copy ::
51
+ #
52
+ # :kv_contig ::
53
+ # < The buffer should be copied
54
+ # :kv_iov ::
55
+ # < The buffer is contiguous and should not be copied
56
+ # :kv_vbid ::
57
+ # For use within the hashkey field, indicates that the _length_
58
+ # of the hashkey is the vBucket ID, rather than an actual hashkey
59
+ # :kv_iovcopy ::
60
+ # The buffers are not contiguous (multi-part buffers) but should be
61
+ # copied. This avoids having to make the buffers contiguous before
62
+ # passing it into the library (only to have the library copy it again)
63
+ #
64
+ # @method `enum_kvbuftype`
65
+ # @return [Symbol]
66
+ # @scope class
67
+ #
68
+ KVBUFTYPE = enum [
69
+ :kv_copy, 0,
70
+ :kv_contig, 1,
71
+ :kv_iov, 2,
72
+ :kv_vbid, 3,
73
+ :kv_iovcopy, 4
74
+ ]
75
+
76
+ # (Not documented)
77
+ #
78
+ # ## Options:
79
+ # :list_end ::
80
+ #
81
+ # :http ::
82
+ #
83
+ # :cccp ::
84
+ #
85
+ # :max ::
86
+ #
87
+ #
88
+ # @method `enum_config_transport_t`
89
+ # @return [Symbol]
90
+ # @scope class
91
+ #
92
+ ConfigTransportT = enum [
93
+ :list_end, 0,
94
+ :http, 1,
95
+ :cccp, 2,
96
+ :max, 3
97
+ ]
98
+
99
+ # (Not documented)
100
+ #
101
+ # ## Options:
102
+ # :resp_f_final ::
103
+ # No more responses are to be received for this request
104
+ # :resp_f_clientgen ::
105
+ # The response was artificially generated inside the client.
106
+ # This does not contain reply data from the server for the command, but
107
+ # rather contains the basic fields to indicate success or failure and is
108
+ # otherwise empty.
109
+ # :resp_f_nmvgen ::
110
+ # The response was a result of a not-my-vbucket error
111
+ # :resp_f_extdata ::
112
+ # The response has additional internal data.
113
+ # Used by lcb_resp_get_mutation_token()
114
+ # :resp_f_sdsingle ::
115
+ # Flag, only valid for subdoc responses, indicates that the response was
116
+ # processed using the single-operation protocol.
117
+ #
118
+ # @method `enum_respflags`
119
+ # @return [Symbol]
120
+ # @scope class
121
+ #
122
+ RESPFLAGS = enum [
123
+ :resp_f_final, 1,
124
+ :resp_f_clientgen, 2,
125
+ :resp_f_nmvgen, 4,
126
+ :resp_f_extdata, 8,
127
+ :resp_f_sdsingle, 16
128
+ ]
129
+
130
+ # (Not documented)
131
+ #
132
+ # ## Options:
133
+ # :first ::
134
+ # Query all the replicas sequentially, retrieving the first successful
135
+ # response
136
+ # :all ::
137
+ # Query all the replicas concurrently, retrieving all the responses
138
+ # :select ::
139
+ # Query the specific replica specified by the
140
+ # lcb_rget3_cmd_t#index field
141
+ #
142
+ # @method `enum_replica_t`
143
+ # @return [Symbol]
144
+ # @scope class
145
+ #
146
+ ReplicaT = enum [
147
+ :first, 0,
148
+ :all, 1,
149
+ :select, 2
150
+ ]
151
+
152
+ # (Not documented)
153
+ #
154
+ # ## Options:
155
+ # :add ::
156
+ # Will cause the operation to fail if the key already exists in the
157
+ # cluster.
158
+ # :replace ::
159
+ # Will cause the operation to fail _unless_ the key already exists in the
160
+ # cluster.
161
+ # :set ::
162
+ # Unconditionally store the item in the cluster
163
+ # :upsert ::
164
+ # The default storage mode. This constant was added in version 2.6.2 for
165
+ # the sake of maintaining a default storage mode, eliminating the need
166
+ # for simple storage operations to explicitly define
167
+ # lcb_CMDSTORE::operation. Behaviorally it is identical to @ref LCB_SET
168
+ # in that it will make the server unconditionally store the item, whether
169
+ # it exists or not.
170
+ # :append ::
171
+ # Rather than setting the contents of the entire document, take the value
172
+ # specified in lcb_CMDSTORE::value and _append_ it to the existing bytes in
173
+ # the value.
174
+ # :prepend ::
175
+ # Like ::LCB_APPEND, but prepends the new value to the existing value.
176
+ #
177
+ # @method `enum_storage_t`
178
+ # @return [Symbol]
179
+ # @scope class
180
+ #
181
+ StorageT = enum [
182
+ :add, 1,
183
+ :replace, 2,
184
+ :set, 3,
185
+ :upsert, 0,
186
+ :append, 4,
187
+ :prepend, 5
188
+ ]
189
+
190
+ # (Not documented)
191
+ #
192
+ # ## Options:
193
+ # :durability_mode_default ::
194
+ # Use the preferred durability. If ::LCB_CNTL_FETCH_MUTATION_TOKENS is
195
+ # enabled and the server version is 4.0 or greater then ::LCB_DURABILITY_MODE_SEQNO
196
+ # is used. Otherwise ::LCB_DURABILITY_MODE_CAS is used.
197
+ # :durability_mode_cas ::
198
+ # Explicitly request CAS-based durability. This is done by checking the
199
+ # CAS of the item on each server with the item specified in the input.
200
+ # The durability operation is considered complete when all items' CAS
201
+ # values match. If the CAS value on the master node changes then the
202
+ # durability operation will fail with ::LCB_KEY_EEXISTS.
203
+ #
204
+ # @note
205
+ # CAS may change either because of a failover or because of another
206
+ # subsequent mutation. These scenarios are possible (though unlikely).
207
+ # The ::LCB_DURABILITY_MODE_SEQNO mode is not subject to these constraints.
208
+ # :durability_mode_seqno ::
209
+ # Use sequence-number based polling. This is done by checking the current
210
+ # "mutation sequence number" for the given mutation. To use this mode
211
+ # either an explicit @ref lcb_MUTATION_TOKEN needs to be passed, or
212
+ # the ::LCB_CNTL_DURABILITY_MUTATION_TOKENS should be set, allowing
213
+ # the caching of the latest mutation token for each vBucket.
214
+ #
215
+ # @method `enum_durmode`
216
+ # @return [Symbol]
217
+ # @scope class
218
+ #
219
+ DURMODE = enum [
220
+ :durability_mode_default, 0,
221
+ :durability_mode_cas, 1,
222
+ :durability_mode_seqno, 2
223
+ ]
224
+
225
+ # (Not documented)
226
+ #
227
+ # ## Options:
228
+ # :found ::
229
+ # The item found in the memory, but not yet on the disk
230
+ # :persisted ::
231
+ # The item hit the disk
232
+ # :not_found ::
233
+ # The item missing on the disk and the memory
234
+ # :logically_deleted ::
235
+ # No knowledge of the key :)
236
+ # :max ::
237
+ #
238
+ #
239
+ # @method `enum_observe_t`
240
+ # @return [Symbol]
241
+ # @scope class
242
+ #
243
+ ObserveT = enum [
244
+ :found, 0,
245
+ :persisted, 1,
246
+ :not_found, 128,
247
+ :logically_deleted, 129,
248
+ :max, 130
249
+ ]
250
+
251
+ # (Not documented)
252
+ #
253
+ # ## Options:
254
+ # :detail ::
255
+ #
256
+ # :debug ::
257
+ #
258
+ # :info ::
259
+ #
260
+ # :warning ::
261
+ #
262
+ #
263
+ # @method `enum_verbosity_level_t`
264
+ # @return [Symbol]
265
+ # @scope class
266
+ #
267
+ VerbosityLevelT = enum [
268
+ :detail, 0,
269
+ :debug, 1,
270
+ :info, 2,
271
+ :warning, 3
272
+ ]
273
+
274
+ # (Not documented)
275
+ #
276
+ # ## Options:
277
+ # :view ::
278
+ # Execute a request against the bucket. The handle must be of
279
+ # @ref LCB_TYPE_BUCKET and must be connected.
280
+ # :management ::
281
+ # Execute a management API request. The credentials used will match
282
+ # those passed during the instance creation time. Thus is the instance
283
+ # type is @ref LCB_TYPE_BUCKET then only bucket-level credentials will
284
+ # be used.
285
+ # :raw ::
286
+ # Execute an arbitrary request against a host and port
287
+ # :n1ql ::
288
+ # Execute an N1QL Query
289
+ # :fts ::
290
+ # Search a fulltext index
291
+ # :max ::
292
+ #
293
+ #
294
+ # @method `enum_http_type_t`
295
+ # @return [Symbol]
296
+ # @scope class
297
+ #
298
+ HttpTypeT = enum [
299
+ :view, 0,
300
+ :management, 1,
301
+ :raw, 2,
302
+ :n1ql, 3,
303
+ :fts, 4,
304
+ :max, 5
305
+ ]
306
+
307
+ # (Not documented)
308
+ #
309
+ # ## Options:
310
+ # :wait_default ::
311
+ # Behave like the old lcb_wait()
312
+ # :wait_nocheck ::
313
+ # Do not check pending operations before running the event loop. By default
314
+ # lcb_wait() will traverse the server list to check if any operations are
315
+ # pending, and if nothing is pending the function will return without
316
+ # running the event loop. This is usually not necessary for applications
317
+ # which already _only_ call lcb_wait() when they know they have scheduled
318
+ # at least one command.
319
+ #
320
+ # @method `enum_waitflags`
321
+ # @return [Symbol]
322
+ # @scope class
323
+ #
324
+ WAITFLAGS = enum [
325
+ :wait_default, 0,
326
+ :wait_nocheck, 1
327
+ ]
328
+
329
+ # (Not documented)
330
+ #
331
+ # ## Options:
332
+ # :value_raw ::
333
+ #
334
+ # :value_f_json ::
335
+ #
336
+ # :value_f_snappycomp ::
337
+ #
338
+ #
339
+ # @method `enum_valueflags`
340
+ # @return [Symbol]
341
+ # @scope class
342
+ #
343
+ VALUEFLAGS = enum [
344
+ :value_raw, 0,
345
+ :value_f_json, 1,
346
+ :value_f_snappycomp, 2
347
+ ]
348
+
349
+ # (Not documented)
350
+ #
351
+ # ## Options:
352
+ # :nsec ::
353
+ #
354
+ # :usec ::
355
+ # < @brief Time is in nanoseconds
356
+ # :msec ::
357
+ # < @brief Time is in microseconds
358
+ # :sec ::
359
+ # < @brief Time is in milliseconds
360
+ #
361
+ # @method `enum_timeunit_t`
362
+ # @return [Symbol]
363
+ # @scope class
364
+ #
365
+ TimeunitT = enum [
366
+ :nsec, 0,
367
+ :usec, 1,
368
+ :msec, 2,
369
+ :sec, 3
370
+ ]
371
+
372
+ # (Not documented)
373
+ #
374
+ # ## Options:
375
+ # :dump_vbconfig ::
376
+ # Dump the raw vbucket configuration
377
+ # :dump_pktinfo ::
378
+ # Dump information about each packet
379
+ # :dump_bufinfo ::
380
+ # Dump memory usage/reservation information about buffers
381
+ # :dump_all ::
382
+ # Dump everything
383
+ #
384
+ # @method `enum_dumpflags`
385
+ # @return [Symbol]
386
+ # @scope class
387
+ #
388
+ DUMPFLAGS = enum [
389
+ :dump_vbconfig, 1,
390
+ :dump_pktinfo, 2,
391
+ :dump_bufinfo, 4,
392
+ :dump_all, 255
393
+ ]
394
+
395
+ # (Not documented)
396
+ #
397
+ # ## Options:
398
+ # :sdcmd_get ::
399
+ # Retrieve the value for a path
400
+ # :sdcmd_exists ::
401
+ # Check if the value for a path exists. If the path exists then the error
402
+ # code will be @ref LCB_SUCCESS
403
+ # :sdcmd_replace ::
404
+ # Replace the value at the specified path. This operation can work
405
+ # on any existing and valid path.
406
+ # :sdcmd_dict_add ::
407
+ # Add the value at the given path, if the given path does not exist.
408
+ # The penultimate path component must point to an array. The operation
409
+ # may be used in conjunction with @ref LCB_SDSPEC_F_MKINTERMEDIATES to
410
+ # create the parent dictionary (and its parents as well) if it does not
411
+ # yet exist.
412
+ # :sdcmd_dict_upsert ::
413
+ # Unconditionally set the value at the path. This logically
414
+ # attempts to perform a @ref LCB_SDCMD_REPLACE, and if it fails, performs
415
+ # an @ref LCB_SDCMD_DICT_ADD.
416
+ # :sdcmd_array_add_first ::
417
+ # Prepend the value(s) to the array indicated by the path. The path should
418
+ # reference an array. When the @ref LCB_SDSPEC_F_MKINTERMEDIATES flag
419
+ # is specified then the array may be created if it does not exist.
420
+ #
421
+ # Note that it is possible to add more than a single value to an array
422
+ # in an operation (this is valid for this commnand as well as
423
+ # @ref LCB_SDCMD_ARRAY_ADD_LAST and @ref LCB_SDCMD_ARRAY_INSERT). Multiple
424
+ # items can be specified by placing a comma between then (the values should
425
+ # otherwise be valid JSON).
426
+ # :sdcmd_array_add_last ::
427
+ # Identical to @ref LCB_SDCMD_ARRAY_ADD_FIRST but places the item(s)
428
+ # at the end of the array rather than at the beginning.
429
+ # :sdcmd_array_add_unique ::
430
+ # Add the value to the array indicated by the path, if the value is not
431
+ # already in the array. The @ref LCB_SDSPEC_F_MKINTERMEDIATES flag can
432
+ # be specified to create the array if it does not already exist.
433
+ #
434
+ # Currently the value for this operation must be a JSON primitive (i.e.
435
+ # no arrays or dictionaries) and the existing array itself must also
436
+ # contain only primitives (otherwise a @ref LCB_SUBDOC_PATH_MISMATCH
437
+ # error will be received).
438
+ # :sdcmd_array_insert ::
439
+ # Add the value at the given array index. Unlike other array operations,
440
+ # the path specified should include the actual index at which the item(s)
441
+ # should be placed, for example `array(2)` will cause the value(s) to be
442
+ # the 3rd item(s) in the array.
443
+ #
444
+ # The array must already exist and the @ref LCB_SDCMD_F_MKINTERMEDIATES
445
+ # flag is not honored.
446
+ # :sdcmd_counter ::
447
+ # Increment or decrement an existing numeric path. If the number does
448
+ # not exist, it will be created (though its parents will not, unless
449
+ # @ref LCB_SDSPEC_F_MKINTERMEDIATES is specified).
450
+ #
451
+ # The value for this operation should be a valid JSON-encoded integer and
452
+ # must be between `INT64_MIN` and `INT64_MAX`, inclusive.
453
+ # :sdcmd_remove ::
454
+ # Remove an existing path in the document.
455
+ # :sdcmd_get_count ::
456
+ # Count the number of elements in an array or dictionary
457
+ # :sdcmd_max ::
458
+ #
459
+ #
460
+ # @method `enum_subdocop`
461
+ # @return [Symbol]
462
+ # @scope class
463
+ #
464
+ SUBDOCOP = enum [
465
+ :sdcmd_get, 1,
466
+ :sdcmd_exists, 2,
467
+ :sdcmd_replace, 3,
468
+ :sdcmd_dict_add, 4,
469
+ :sdcmd_dict_upsert, 5,
470
+ :sdcmd_array_add_first, 6,
471
+ :sdcmd_array_add_last, 7,
472
+ :sdcmd_array_add_unique, 8,
473
+ :sdcmd_array_insert, 9,
474
+ :sdcmd_counter, 10,
475
+ :sdcmd_remove, 11,
476
+ :sdcmd_get_count, 12,
477
+ :sdcmd_max, 13
478
+ ]
479
+
480
+ # (Not documented)
481
+ #
482
+ # ## Options:
483
+ # :success ::
484
+ #
485
+ # :auth_continue ::
486
+ #
487
+ # :auth_error ::
488
+ # This error code is received in callbacks when connecting or reconnecting
489
+ # to the cluster. If received during initial bootstrap
490
+ # (i.e. lcb_get_bootstrap_status()) then it should be considered a fatal
491
+ # errror. This error should not be visible after initial bootstrap.
492
+ #
493
+ # This error may also be received if CCCP bootstrap is used and the bucket does
494
+ # not exist.
495
+ # :delta_badval ::
496
+ # This error is received in callbacks. It is a result of trying to perform
497
+ # an lcb_arithmetic() operation on an item which has an existing value that
498
+ # cannot be parsed as a number.
499
+ # :e2big ::
500
+ # This error is received in callbacks. It indicates that the key and value
501
+ # exceeded the constraints within the server. The current constraints are
502
+ # 150 bytes for a key and 20MB for a value
503
+ # :ebusy ::
504
+ #
505
+ # :einternal ::
506
+ # Internal error within the library. This may be a result of a bug
507
+ # :einval ::
508
+ # If returned from an API call, it indicates invalid values were passed
509
+ # to the function. If received within a callback, it indicates that a
510
+ # malformed packet was sent to the server.
511
+ # :enomem ::
512
+ # This code is received in callbacks. It means the server has no more memory
513
+ # left to store or modify the item.
514
+ # :erange ::
515
+ #
516
+ # :error ::
517
+ # Generic error
518
+ # :etmpfail ::
519
+ # This error is received in callbacks from the server itself to indicate
520
+ # that it could not perform the requested operation. This is usually due to memory and/or
521
+ # resource constraints on the server. This error may also be returned if a
522
+ # key has been locked (see lcb_get()) and an operation has been performed on it
523
+ # without unlocking the item (see lcb_unlock(), or pass the correct CAS value
524
+ # to a mutation function).
525
+ # :key_eexists ::
526
+ # The key already exists in the cluster. This error code is received within
527
+ # callbacks as a result of an _add_ operation in which the key already exists.
528
+ # It is also received for other operations in which a CAS was specified but has
529
+ # changed on the server.
530
+ # :key_enoent ::
531
+ # Received in callbacks to indicate that the server does not contain the item
532
+ # :dlopen_failed ::
533
+ # Error code thrown if an I/O plugin could not be located
534
+ # :dlsym_failed ::
535
+ # Error code thrown of an I/O plugin did not contain a proper initialization routine
536
+ # :network_error ::
537
+ # This is a generic error code returned for various forms of socket
538
+ # operation failures. Newer applications are recommended to enable the
539
+ # @ref LCB_CNTL_DETAILED_ERRCODES setting via lcb_cntl() and receive more
540
+ # detailed information about a socket error.
541
+ #
542
+ # @see lcb_cntl(), @ref LCB_CNTL_DETAILED_ERRCODES
543
+ # :not_my_vbucket ::
544
+ # Error code received in callbacks if the command was forwarded to the wrong
545
+ # server (for example, during a rebalance) and the library settings are configured
546
+ # that the command should not be remapped to a new server
547
+ # :not_stored ::
548
+ # Received in callbacks as a response to an LCB_APPEND or LCB_PREPEND on an
549
+ # item that did not exist in the cluster. Equivalent to LCB_KEY_ENOENT
550
+ # :not_supported ::
551
+ # Returned from API calls if a specific operation is valid but is unsupported
552
+ # in the current version or state of the library. May also be received in a
553
+ # callback if the cluster does not support the operation.
554
+ #
555
+ # This will be returned for unknown settings passed to lcb_cntl() unless
556
+ # @ref LCB_CNTL_DETAILED_ERRCODES is set
557
+ # :unknown_command ::
558
+ # Received in callbacks if the cluster does not know about the command.
559
+ # Similar to LCB_NOT_SUPPORTED
560
+ # :unknown_host ::
561
+ # Error code received if the hostname specified could not be found. It may
562
+ # also be received if a socket could not be created to the host supplied.
563
+ #
564
+ # A more detailed error code may be returned instead if
565
+ # @ref LCB_CNTL_DETAILED_ERRCODES is set.
566
+ # :protocol_error ::
567
+ # Error code received if the server replied with an unexpected response
568
+ # :etimedout ::
569
+ # Error code received in callbacks for operations which did not receive a
570
+ # reply from the server within the timeout limit.
571
+ # @see LCB_CNTL_OP_TIMEOUT
572
+ # :connect_error ::
573
+ # @see LCB_NETWORK_ERROR, LCB_UNKNOWN_HOST, @ref LCB_CNTL_DETAILED_ERRCODES
574
+ # :bucket_enoent ::
575
+ # Received on initial bootstrap if the bucket does not exist. Note that
576
+ # for CCCP bootstrap, @ref LCB_AUTH_ERROR will be received instead
577
+ # :client_enomem ::
578
+ # Client could not allocate memory for internal structures
579
+ # :client_enoconf ::
580
+ # Client could not schedule the request. This is typically received when
581
+ # an operation is requested before the initial bootstrap has completed
582
+ # :ebadhandle ::
583
+ #
584
+ # :server_bug ::
585
+ #
586
+ # :plugin_version_mismatch ::
587
+ #
588
+ # :invalid_host_format ::
589
+ #
590
+ # :invalid_char ::
591
+ #
592
+ # :durability_etoomany ::
593
+ # Received in response to the durability API call, if the amount of nodes
594
+ # or replicas to persist/replicate to exceed the total number of replicas the
595
+ # bucket was configured with.
596
+ # :duplicate_commands ::
597
+ # Received in scheduling if a command with the same key was specified more
598
+ # than once. Some commands will accept this, but others (notably `observe`)
599
+ # will not
600
+ # :no_matching_server ::
601
+ # This error is received from API calls if the master node for the vBucket
602
+ # the key has been hashed to is not present. This will happen in the result
603
+ # of a node failover where no replica exists to replace it.
604
+ # :bad_environment ::
605
+ # Received during initial creation (lcb_create()) if an environment variable
606
+ # was specified with an incorrect or invalid value.
607
+ #
608
+ # @see @ref lcb-env-vars-page
609
+ # :busy ::
610
+ #
611
+ # :invalid_username ::
612
+ # Received from lcb_create() if the username does not match the bucket
613
+ # :config_cache_invalid ::
614
+ #
615
+ # :saslmech_unavailable ::
616
+ # Received during initial bootstrap if the library was configured to force
617
+ # the usage of a specific SASL mechanism and the server did not support this
618
+ # mechanism. @see LCB_CNTL_FORCE_SASL_MECH
619
+ # :too_many_redirects ::
620
+ # Received in the HTTP callback if the response was redirected too many
621
+ # times. @see LCB_CNTL_MAX_REDIRECTS
622
+ # :map_changed ::
623
+ # May be received in operation callbacks if the cluster toplogy changed
624
+ # and the library could not remap the command to a new node. This may be
625
+ # because the internal structure lacked sufficient information to recreate
626
+ # the packet, or because the configuration settings indicated that the command
627
+ # should not be retried. @see LCB_CNTL_RETRYMODE
628
+ # :incomplete_packet ::
629
+ # Returned from the lcb_pktfwd3() function if an incomplete packet was
630
+ # passed
631
+ # :econnrefused ::
632
+ # Mapped directly to the system `ECONNREFUSED` errno. This is received
633
+ # in callbacks if an initial connection to the node could not be established.
634
+ # Check your firewall settings and ensure the specified service is online.
635
+ # :esockshutdown ::
636
+ # Returned in a callback if the socket connection was gracefully closed,
637
+ # but the library wasn't expecting it. This may happen if the system is
638
+ # being shut down.
639
+ # @lcb_see_detailed_neterr
640
+ # :econnreset ::
641
+ # Returned in a callback if the socket connection was forcefully reset,
642
+ # Equivalent to the system `ECONNRESET`.
643
+ # @lcb_see_detailed_neterr
644
+ # :ecantgetport ::
645
+ # Returned in a callback if the library could not allocated a local socket
646
+ # due to TCP local port exhaustion. This means you have either found a bug
647
+ # in the library or are creating too many TCP connections. Keep in mind that
648
+ # a TCP connection will still occupy a slot in your system socket table even
649
+ # after it has been closed (and will thus appear in a `TIME_WAIT` state).
650
+ #
651
+ # @lcb_see_detailed_neterr
652
+ # :efdlimitreached ::
653
+ # Returned if the library could not allocate a new file descriptor for a
654
+ # socket or other resource. This may be more common on systems (such as
655
+ # Mac OS X) which have relatively low limits for file descriptors. To raise
656
+ # the file descriptor limit, refer to the `ulimit -n` command
657
+ #
658
+ # @lcb_see_detailed_neterr
659
+ # :enetunreach ::
660
+ # Returned in callback if the host or subnet containing a node could
661
+ # not be contacted. This may be a result of a bad routing table or being
662
+ # physically disconnected from the network.
663
+ # @lcb_see_detailed_neterr.
664
+ # :ectl_unknown ::
665
+ # An unrecognized setting was passed to the lcb_cntl() function
666
+ # @lcb_see_detailed_neterr
667
+ # :ectl_unsuppmode ::
668
+ # An invalid operation was supplied for a setting to lcb_cntl(). This will
669
+ # happen if you try to write to a read-only setting, or retrieve a value
670
+ # which may only be set. Refer to the documentation for an individual setting
671
+ # to see what modes it supports.
672
+ # @lcb_see_detailed_neterr
673
+ # :ectl_badarg ::
674
+ # A malformed argument was passed to lcb_cntl() for the given setting. See
675
+ # the documentation for the setting to see what arguments it supports and
676
+ # how they are to be supplied.
677
+ #
678
+ # @lcb_see_detailed_neterr
679
+ # :empty_key ::
680
+ # An empty key was passed to an operation. Most commands do not accept
681
+ # empty keys.
682
+ # :ssl_error ::
683
+ # A problem with the SSL system was encountered. Use logging to discover
684
+ # what happened. This error will only be thrown if something internal to the
685
+ # SSL library failed (for example, a bad certificate or bad user input);
686
+ # otherwise a network error will be thrown if an SSL connection was terminated
687
+ # :ssl_cantverify ::
688
+ # The certificate the server sent cannot be verified. This is a possible
689
+ # case of a man-in-the-middle attack, but also of forgetting to supply
690
+ # the path to the CA authority to the library.
691
+ # :schedfail_internal ::
692
+ #
693
+ # :client_feature_unavailable ::
694
+ # An optional client feature was requested, but the current configuration
695
+ # does not allow it to be used. This might be because it is not available
696
+ # on a particular platform/architecture/operating system/configuration, or
697
+ # it has been disabled at the time the library was built.
698
+ # :options_conflict ::
699
+ # An option was passed to a command which is incompatible with other
700
+ # options. This may happen if two fields are mutually exclusive
701
+ # :http_error ::
702
+ # Received in callbacks if an operation failed because of a negative HTTP
703
+ # status code
704
+ # :durability_no_mutation_tokens ::
705
+ # Scheduling error received if @ref LCB_CNTL_DURABILITY_MUTATION_TOKENS was
706
+ # enabled, but there is no available mutation token for the key.
707
+ # :unknown_memcached_error ::
708
+ # The server replied with an unrecognized status code
709
+ # :mutation_lost ::
710
+ # The server replied that the given mutation has been lost
711
+ # :subdoc_path_enoent ::
712
+ #
713
+ # :subdoc_path_mismatch ::
714
+ #
715
+ # :subdoc_path_einval ::
716
+ #
717
+ # :subdoc_path_e2big ::
718
+ #
719
+ # :subdoc_doc_e2deep ::
720
+ #
721
+ # :subdoc_value_cantinsert ::
722
+ #
723
+ # :subdoc_doc_notjson ::
724
+ #
725
+ # :subdoc_num_erange ::
726
+ #
727
+ # :subdoc_bad_delta ::
728
+ #
729
+ # :subdoc_path_eexists ::
730
+ #
731
+ # :subdoc_multi_failure ::
732
+ #
733
+ # :subdoc_value_e2deep ::
734
+ #
735
+ # :einval_mcd ::
736
+ #
737
+ # :empty_path ::
738
+ #
739
+ # :unknown_sdcmd ::
740
+ #
741
+ # :eno_commands ::
742
+ #
743
+ # :query_error ::
744
+ #
745
+ # :max_error ::
746
+ # The errors below this value reserver for libcouchbase usage.
747
+ #
748
+ # @method `enum_error_t`
749
+ # @return [Symbol]
750
+ # @scope class
751
+ #
752
+ ErrorT = enum [
753
+ :success, 0,
754
+ :auth_continue, 1,
755
+ :auth_error, 2,
756
+ :delta_badval, 3,
757
+ :e2big, 4,
758
+ :ebusy, 5,
759
+ :einternal, 6,
760
+ :einval, 7,
761
+ :enomem, 8,
762
+ :erange, 9,
763
+ :error, 10,
764
+ :etmpfail, 11,
765
+ :key_eexists, 12,
766
+ :key_enoent, 13,
767
+ :dlopen_failed, 14,
768
+ :dlsym_failed, 15,
769
+ :network_error, 16,
770
+ :not_my_vbucket, 17,
771
+ :not_stored, 18,
772
+ :not_supported, 19,
773
+ :unknown_command, 20,
774
+ :unknown_host, 21,
775
+ :protocol_error, 22,
776
+ :etimedout, 23,
777
+ :connect_error, 24,
778
+ :bucket_enoent, 25,
779
+ :client_enomem, 26,
780
+ :client_enoconf, 27,
781
+ :ebadhandle, 28,
782
+ :server_bug, 29,
783
+ :plugin_version_mismatch, 30,
784
+ :invalid_host_format, 31,
785
+ :invalid_char, 32,
786
+ :durability_etoomany, 33,
787
+ :duplicate_commands, 34,
788
+ :no_matching_server, 35,
789
+ :bad_environment, 36,
790
+ :busy, 37,
791
+ :invalid_username, 38,
792
+ :config_cache_invalid, 39,
793
+ :saslmech_unavailable, 40,
794
+ :too_many_redirects, 41,
795
+ :map_changed, 42,
796
+ :incomplete_packet, 43,
797
+ :econnrefused, 44,
798
+ :esockshutdown, 45,
799
+ :econnreset, 46,
800
+ :ecantgetport, 47,
801
+ :efdlimitreached, 48,
802
+ :enetunreach, 49,
803
+ :ectl_unknown, 50,
804
+ :ectl_unsuppmode, 51,
805
+ :ectl_badarg, 52,
806
+ :empty_key, 53,
807
+ :ssl_error, 54,
808
+ :ssl_cantverify, 55,
809
+ :schedfail_internal, 56,
810
+ :client_feature_unavailable, 57,
811
+ :options_conflict, 58,
812
+ :http_error, 59,
813
+ :durability_no_mutation_tokens, 60,
814
+ :unknown_memcached_error, 61,
815
+ :mutation_lost, 62,
816
+ :subdoc_path_enoent, 63,
817
+ :subdoc_path_mismatch, 64,
818
+ :subdoc_path_einval, 65,
819
+ :subdoc_path_e2big, 66,
820
+ :subdoc_doc_e2deep, 67,
821
+ :subdoc_value_cantinsert, 68,
822
+ :subdoc_doc_notjson, 69,
823
+ :subdoc_num_erange, 70,
824
+ :subdoc_bad_delta, 71,
825
+ :subdoc_path_eexists, 72,
826
+ :subdoc_multi_failure, 73,
827
+ :subdoc_value_e2deep, 74,
828
+ :einval_mcd, 75,
829
+ :empty_path, 76,
830
+ :unknown_sdcmd, 77,
831
+ :eno_commands, 78,
832
+ :query_error, 79,
833
+ :max_error, 4096
834
+ ]
835
+
836
+ # (Not documented)
837
+ #
838
+ # ## Options:
839
+ # :bucket ::
840
+ #
841
+ # :cluster ::
842
+ # < Handle for data access (default)
843
+ #
844
+ # @method `enum_type_t`
845
+ # @return [Symbol]
846
+ # @scope class
847
+ #
848
+ TypeT = enum [
849
+ :bucket, 0,
850
+ :cluster, 1
851
+ ]
852
+
853
+ # (Not documented)
854
+ #
855
+ # ## Options:
856
+ # :callback_default ::
857
+ #
858
+ # :callback_get ::
859
+ # < Default callback invoked as a fallback
860
+ # :callback_store ::
861
+ # < lcb_get3()
862
+ # :callback_counter ::
863
+ # < lcb_store3()
864
+ # :callback_touch ::
865
+ # < lcb_counter3()
866
+ # :callback_remove ::
867
+ # < lcb_touch3()
868
+ # :callback_unlock ::
869
+ # < lcb_remove3()
870
+ # :callback_stats ::
871
+ # < lcb_unlock3()
872
+ # :callback_versions ::
873
+ # < lcb_stats3()
874
+ # :callback_verbosity ::
875
+ # < lcb_server_versions3()
876
+ # :callback_flush ::
877
+ # < lcb_server_verbosity3()
878
+ # :callback_observe ::
879
+ # < lcb_flush3()
880
+ # :callback_getreplica ::
881
+ # < lcb_observe3_ctxnew()
882
+ # :callback_endure ::
883
+ # < lcb_rget3()
884
+ # :callback_http ::
885
+ # < lcb_endure3_ctxnew()
886
+ # :callback_cbflush ::
887
+ # < lcb_http3()
888
+ # :callback_obseqno ::
889
+ # < lcb_cbflush3()
890
+ # :callback_storedur ::
891
+ # < For lcb_observe_seqno3()
892
+ # :callback_sdlookup ::
893
+ # <for lcb_storedur3()
894
+ # :callback_sdmutate ::
895
+ #
896
+ # :callback_max ::
897
+ #
898
+ #
899
+ # @method `enum_callbacktype`
900
+ # @return [Symbol]
901
+ # @scope class
902
+ #
903
+ CALLBACKTYPE = enum [
904
+ :callback_default, 0,
905
+ :callback_get, 1,
906
+ :callback_store, 2,
907
+ :callback_counter, 3,
908
+ :callback_touch, 4,
909
+ :callback_remove, 5,
910
+ :callback_unlock, 6,
911
+ :callback_stats, 7,
912
+ :callback_versions, 8,
913
+ :callback_verbosity, 9,
914
+ :callback_flush, 10,
915
+ :callback_observe, 11,
916
+ :callback_getreplica, 12,
917
+ :callback_endure, 13,
918
+ :callback_http, 14,
919
+ :callback_cbflush, 15,
920
+ :callback_obseqno, 16,
921
+ :callback_storedur, 17,
922
+ :callback_sdlookup, 18,
923
+ :callback_sdmutate, 19,
924
+ :callback_max, 20
925
+ ]
926
+
927
+ # (Not documented)
928
+ #
929
+ # ## Options:
930
+ # :get ::
931
+ #
932
+ # :post ::
933
+ #
934
+ # :put ::
935
+ #
936
+ # :delete ::
937
+ #
938
+ # :max ::
939
+ #
940
+ #
941
+ # @method `enum_http_method_t`
942
+ # @return [Symbol]
943
+ # @scope class
944
+ #
945
+ HttpMethodT = enum [
946
+ :get, 0,
947
+ :post, 1,
948
+ :put, 2,
949
+ :delete, 3,
950
+ :max, 4
951
+ ]
952
+
953
+ # (Not documented)
954
+ #
955
+ # ## Options:
956
+ # :node_htconfig ::
957
+ # Get an HTTP configuration (Rest API) node
958
+ # :node_data ::
959
+ # Get a data (memcached) node
960
+ # :node_views ::
961
+ # Get a view (CAPI) node
962
+ # :node_connected ::
963
+ # Only return a node which is connected, or a node which is known to be up
964
+ # :node_nevernull ::
965
+ # Specifying this flag adds additional semantics which instruct the library
966
+ # to search additional resources to return a host, and finally,
967
+ # if no host can be found, return the string
968
+ # constant @ref LCB_GETNODE_UNAVAILABLE.
969
+ # :node_htconfig_connected ::
970
+ # Equivalent to `LCB_NODE_HTCONFIG|LCB_NODE_CONNECTED`
971
+ # :node_htconfig_any ::
972
+ # Equivalent to `LCB_NODE_HTCONFIG|LCB_NODE_NEVERNULL`.
973
+ # When this is passed, some additional attempts may be made by the library
974
+ # to return any kind of host, including searching the initial list of hosts
975
+ # passed to the lcb_create() function.
976
+ #
977
+ # @method `enum_getnodetype`
978
+ # @return [Symbol]
979
+ # @scope class
980
+ #
981
+ GETNODETYPE = enum [
982
+ :node_htconfig, 1,
983
+ :node_data, 2,
984
+ :node_views, 4,
985
+ :node_connected, 8,
986
+ :node_nevernull, 16,
987
+ :node_htconfig_connected, 9,
988
+ :node_htconfig_any, 17
989
+ ]
990
+
991
+ end