libcouchbase-mapo 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +38 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +24 -0
  8. data/README.md +445 -0
  9. data/Rakefile +76 -0
  10. data/ext/README.md +6 -0
  11. data/ext/Rakefile +19 -0
  12. data/lib/libcouchbase.rb +40 -0
  13. data/lib/libcouchbase/bucket.rb +825 -0
  14. data/lib/libcouchbase/callbacks.rb +69 -0
  15. data/lib/libcouchbase/connection.rb +886 -0
  16. data/lib/libcouchbase/design_docs.rb +92 -0
  17. data/lib/libcouchbase/error.rb +68 -0
  18. data/lib/libcouchbase/ext/libcouchbase.rb +1175 -0
  19. data/lib/libcouchbase/ext/libcouchbase/cmdbase.rb +23 -0
  20. data/lib/libcouchbase/ext/libcouchbase/cmdcounter.rb +36 -0
  21. data/lib/libcouchbase/ext/libcouchbase/cmdendure.rb +26 -0
  22. data/lib/libcouchbase/ext/libcouchbase/cmdfts.rb +24 -0
  23. data/lib/libcouchbase/ext/libcouchbase/cmdget.rb +30 -0
  24. data/lib/libcouchbase/ext/libcouchbase/cmdgetreplica.rb +49 -0
  25. data/lib/libcouchbase/ext/libcouchbase/cmdhttp.rb +58 -0
  26. data/lib/libcouchbase/ext/libcouchbase/cmdn1ql.rb +40 -0
  27. data/lib/libcouchbase/ext/libcouchbase/cmdobseqno.rb +33 -0
  28. data/lib/libcouchbase/ext/libcouchbase/cmdobserve.rb +30 -0
  29. data/lib/libcouchbase/ext/libcouchbase/cmdstore.rb +40 -0
  30. data/lib/libcouchbase/ext/libcouchbase/cmdstoredur.rb +45 -0
  31. data/lib/libcouchbase/ext/libcouchbase/cmdsubdoc.rb +61 -0
  32. data/lib/libcouchbase/ext/libcouchbase/cmdverbosity.rb +29 -0
  33. data/lib/libcouchbase/ext/libcouchbase/cmdviewquery.rb +61 -0
  34. data/lib/libcouchbase/ext/libcouchbase/contigbuf.rb +14 -0
  35. data/lib/libcouchbase/ext/libcouchbase/create_st.rb +15 -0
  36. data/lib/libcouchbase/ext/libcouchbase/create_st0.rb +23 -0
  37. data/lib/libcouchbase/ext/libcouchbase/create_st1.rb +26 -0
  38. data/lib/libcouchbase/ext/libcouchbase/create_st2.rb +32 -0
  39. data/lib/libcouchbase/ext/libcouchbase/create_st3.rb +26 -0
  40. data/lib/libcouchbase/ext/libcouchbase/crst_u.rb +20 -0
  41. data/lib/libcouchbase/ext/libcouchbase/durability_opts_st_v.rb +11 -0
  42. data/lib/libcouchbase/ext/libcouchbase/durability_opts_t.rb +14 -0
  43. data/lib/libcouchbase/ext/libcouchbase/durabilityopt_sv0.rb +63 -0
  44. data/lib/libcouchbase/ext/libcouchbase/enums.rb +1007 -0
  45. data/lib/libcouchbase/ext/libcouchbase/fragbuf.rb +18 -0
  46. data/lib/libcouchbase/ext/libcouchbase/ftshandle.rb +7 -0
  47. data/lib/libcouchbase/ext/libcouchbase/histogram.rb +34 -0
  48. data/lib/libcouchbase/ext/libcouchbase/http_request_t.rb +7 -0
  49. data/lib/libcouchbase/ext/libcouchbase/keybuf.rb +20 -0
  50. data/lib/libcouchbase/ext/libcouchbase/multicmd_ctx.rb +30 -0
  51. data/lib/libcouchbase/ext/libcouchbase/mutation_token.rb +17 -0
  52. data/lib/libcouchbase/ext/libcouchbase/n1qlhandle.rb +7 -0
  53. data/lib/libcouchbase/ext/libcouchbase/n1qlparams.rb +7 -0
  54. data/lib/libcouchbase/ext/libcouchbase/respbase.rb +29 -0
  55. data/lib/libcouchbase/ext/libcouchbase/respcounter.rb +32 -0
  56. data/lib/libcouchbase/ext/libcouchbase/respendure.rb +49 -0
  57. data/lib/libcouchbase/ext/libcouchbase/respfts.rb +40 -0
  58. data/lib/libcouchbase/ext/libcouchbase/respget.rb +44 -0
  59. data/lib/libcouchbase/ext/libcouchbase/resphttp.rb +48 -0
  60. data/lib/libcouchbase/ext/libcouchbase/respmcversion.rb +38 -0
  61. data/lib/libcouchbase/ext/libcouchbase/respn1ql.rb +41 -0
  62. data/lib/libcouchbase/ext/libcouchbase/respobseqno.rb +52 -0
  63. data/lib/libcouchbase/ext/libcouchbase/respobserve.rb +41 -0
  64. data/lib/libcouchbase/ext/libcouchbase/respserverbase.rb +32 -0
  65. data/lib/libcouchbase/ext/libcouchbase/respstats.rb +38 -0
  66. data/lib/libcouchbase/ext/libcouchbase/respstore.rb +32 -0
  67. data/lib/libcouchbase/ext/libcouchbase/respstoredur.rb +38 -0
  68. data/lib/libcouchbase/ext/libcouchbase/respsubdoc.rb +35 -0
  69. data/lib/libcouchbase/ext/libcouchbase/respviewquery.rb +67 -0
  70. data/lib/libcouchbase/ext/libcouchbase/sdentry.rb +22 -0
  71. data/lib/libcouchbase/ext/libcouchbase/sdspec.rb +31 -0
  72. data/lib/libcouchbase/ext/libcouchbase/t.rb +7 -0
  73. data/lib/libcouchbase/ext/libcouchbase/valbuf.rb +22 -0
  74. data/lib/libcouchbase/ext/libcouchbase/valbuf_u_buf.rb +14 -0
  75. data/lib/libcouchbase/ext/libcouchbase/viewhandle.rb +7 -0
  76. data/lib/libcouchbase/ext/libcouchbase_libuv.rb +22 -0
  77. data/lib/libcouchbase/ext/tasks.rb +39 -0
  78. data/lib/libcouchbase/n1ql.rb +78 -0
  79. data/lib/libcouchbase/query_full_text.rb +147 -0
  80. data/lib/libcouchbase/query_n1ql.rb +123 -0
  81. data/lib/libcouchbase/query_view.rb +135 -0
  82. data/lib/libcouchbase/results_fiber.rb +281 -0
  83. data/lib/libcouchbase/results_native.rb +220 -0
  84. data/lib/libcouchbase/subdoc_request.rb +139 -0
  85. data/lib/libcouchbase/version.rb +5 -0
  86. data/libcouchbase.gemspec +68 -0
  87. data/spec/bucket_spec.rb +290 -0
  88. data/spec/connection_spec.rb +257 -0
  89. data/spec/design_docs_spec.rb +31 -0
  90. data/spec/error_spec.rb +26 -0
  91. data/spec/fts_spec.rb +135 -0
  92. data/spec/n1ql_spec.rb +206 -0
  93. data/spec/results_libuv_spec.rb +244 -0
  94. data/spec/results_native_spec.rb +259 -0
  95. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
  96. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
  97. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
  98. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
  99. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
  100. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
  101. data/spec/subdoc_spec.rb +192 -0
  102. data/spec/view_spec.rb +201 -0
  103. data/windows_build.md +36 -0
  104. metadata +265 -0
@@ -0,0 +1,23 @@
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
+ class CMDBASE < FFI::Struct
16
+ layout :cmdflags, :uint,
17
+ :exptime, :uint,
18
+ :cas, :ulong_long,
19
+ :key, KEYBUF.by_value,
20
+ :hashkey, KEYBUF.by_value
21
+ end
22
+
23
+ end
@@ -0,0 +1,36 @@
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
+ # :delta ::
16
+ # (Integer) Delta value. If this number is negative the item on the server is
17
+ # decremented. If this number is positive then the item on the server
18
+ # is incremented
19
+ # :initial ::
20
+ # (Integer) If the item does not exist on the server (and `create` is true) then
21
+ # this will be the initial value for the item.
22
+ # :create ::
23
+ # (Integer) Boolean value. Create the item and set it to `initial` if it does not
24
+ # already exist
25
+ class CMDCOUNTER < FFI::Struct
26
+ layout :cmdflags, :uint,
27
+ :exptime, :uint,
28
+ :cas, :ulong_long,
29
+ :key, KEYBUF.by_value,
30
+ :hashkey, KEYBUF.by_value,
31
+ :delta, :long_long,
32
+ :initial, :ulong_long,
33
+ :create, :int
34
+ end
35
+
36
+ end
@@ -0,0 +1,26 @@
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
+ # :mutation_token ::
16
+ # (MUTATIONTOKEN)
17
+ class CMDENDURE < FFI::Struct
18
+ layout :cmdflags, :uint,
19
+ :exptime, :uint,
20
+ :cas, :ulong_long,
21
+ :key, KEYBUF.by_value,
22
+ :hashkey, KEYBUF.by_value,
23
+ :mutation_token, MUTATIONTOKEN.by_ref
24
+ end
25
+
26
+ end
@@ -0,0 +1,24 @@
1
+ module Libcouchbase::Ext
2
+ # @brief Search Command
3
+ #
4
+ # ## Fields:
5
+ # :cmdflags ::
6
+ # (Integer) Modifiers for command. Currently none are defined
7
+ # :query ::
8
+ # (String) Encoded JSON query
9
+ # :nquery ::
10
+ # (Integer) Length of JSON query
11
+ # :callback ::
12
+ # (Proc(callback_ftscallback)) Callback to be invoked. This must be supplied
13
+ # :handle ::
14
+ # (FFI::Pointer(*FTSHANDLE)) Optional pointer to store the handle. The handle may then be
15
+ # used for query cancellation via lcb_fts_cancel()
16
+ class CMDFTS < FFI::Struct
17
+ layout :cmdflags, :uint,
18
+ :query, :pointer,
19
+ :nquery, :ulong,
20
+ :callback, :ftscallback,
21
+ :handle, :pointer
22
+ end
23
+
24
+ end
@@ -0,0 +1,30 @@
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
+ # :lock ::
16
+ # (Integer) If set to true, the `exptime` field inside `options` will take to mean
17
+ # the time the lock should be held. While the lock is held, other operations
18
+ # trying to access the key will fail with an `LCB_ETMPFAIL` error. The
19
+ # item may be unlocked either via `lcb_unlock3()` or via a mutation
20
+ # operation with a supplied CAS
21
+ class CMDGET < FFI::Struct
22
+ layout :cmdflags, :uint,
23
+ :exptime, :uint,
24
+ :cas, :ulong_long,
25
+ :key, KEYBUF.by_value,
26
+ :hashkey, KEYBUF.by_value,
27
+ :lock, :int
28
+ end
29
+
30
+ end
@@ -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
+ # :strategy ::
16
+ # (ReplicaT) Strategy for selecting a replica. The default is ::LCB_REPLICA_FIRST
17
+ # which results in the client trying each replica in sequence until a
18
+ # successful reply is found, and returned in the callback.
19
+ #
20
+ # ::LCB_REPLICA_FIRST evaluates to 0.
21
+ #
22
+ # Other options include:
23
+ # <ul>
24
+ # <li>::LCB_REPLICA_ALL - queries all replicas concurrently and dispatches
25
+ # a callback for each reply</li>
26
+ # <li>::LCB_REPLICA_SELECT - queries a specific replica indicated in the
27
+ # #index field</li>
28
+ # </ul>
29
+ #
30
+ # @note When ::LCB_REPLICA_ALL is selected, the callback will be invoked
31
+ # multiple times, one for each replica. The final callback will have the
32
+ # ::LCB_RESP_F_FINAL bit set in the lcb_RESPBASE::rflags field. The final
33
+ # response will also contain the response from the last replica to
34
+ # respond.
35
+ # :index ::
36
+ # (Integer) Valid only when #strategy is ::LCB_REPLICA_SELECT, specifies the replica
37
+ # index number to query. This should be no more than `nreplicas-1`
38
+ # where `nreplicas` is the number of replicas the bucket is configured with.
39
+ class CMDGETREPLICA < FFI::Struct
40
+ layout :cmdflags, :uint,
41
+ :exptime, :uint,
42
+ :cas, :ulong_long,
43
+ :key, KEYBUF.by_value,
44
+ :hashkey, KEYBUF.by_value,
45
+ :strategy, ReplicaT,
46
+ :index, :int
47
+ end
48
+
49
+ end
@@ -0,0 +1,58 @@
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
+ # :type ::
16
+ # (HttpTypeT) Type of request to issue. LCB_HTTP_TYPE_VIEW will issue a request
17
+ # against a random node's view API. LCB_HTTP_TYPE_MANAGEMENT will issue
18
+ # a request against a random node's administrative API, and
19
+ # LCB_HTTP_TYPE_RAW will issue a request against an arbitrary host.
20
+ # :method ::
21
+ # (HttpMethodT) < HTTP Method to use
22
+ # :body ::
23
+ # (String) If the request requires a body (e.g. `PUT` or `POST`) then it will
24
+ # go here. Be sure to indicate the length of the body too.
25
+ # :nbody ::
26
+ # (Integer) Length of the body for the request
27
+ # :reqhandle ::
28
+ # (FFI::Pointer(*HttpRequestT)) If non-NULL, will be assigned a handle which may be used to
29
+ # subsequently cancel the request
30
+ # :content_type ::
31
+ # (String) For views, set this to `application/json`
32
+ # :username ::
33
+ # (String) Username to authenticate with, if left empty, will use the credentials
34
+ # passed to lcb_create()
35
+ # :password ::
36
+ # (String) Password to authenticate with, if left empty, will use the credentials
37
+ # passed to lcb_create()
38
+ # :host ::
39
+ # (String) If set, this must be a string in the form of `http://host:port`. Should
40
+ # only be used for raw requests.
41
+ class CMDHTTP < FFI::Struct
42
+ layout :cmdflags, :uint,
43
+ :exptime, :uint,
44
+ :cas, :ulong_long,
45
+ :key, KEYBUF.by_value,
46
+ :hashkey, KEYBUF.by_value,
47
+ :type, HttpTypeT,
48
+ :method, HttpMethodT,
49
+ :body, :pointer,
50
+ :nbody, :ulong,
51
+ :reqhandle, :pointer,
52
+ :content_type, :pointer,
53
+ :username, :pointer,
54
+ :password, :pointer,
55
+ :host, :pointer
56
+ end
57
+
58
+ end
@@ -0,0 +1,40 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cmdflags ::
6
+ # (Integer)
7
+ # :query ::
8
+ # (String) Query to be placed in the POST request. The library will not perform
9
+ # any conversions or validation on this string, so it is up to the user
10
+ # (or wrapping library) to ensure that the string is well formed.
11
+ #
12
+ # If using the @ref lcb_N1QLPARAMS structure, the lcb_n1p_mkcmd() function
13
+ # will properly populate this field.
14
+ #
15
+ # In general the string should either be JSON (in which case, the
16
+ # #content_type field should be `application/json`) or url-encoded
17
+ # (in which case the #content_type field should be
18
+ # `application/x-www-form-urlencoded`)
19
+ # :nquery ::
20
+ # (Integer) Length of the query data
21
+ # :host ::
22
+ # (String) Ignored since version 2.5.3
23
+ # :content_type ::
24
+ # (String) Ignored since version 2.5.3
25
+ # :callback ::
26
+ # (Proc(callback_n1qlcallback)) Callback to be invoked for each row
27
+ # :handle ::
28
+ # (FFI::Pointer(*N1QLHANDLE)) Request handle. Will be set to the handle which may be passed to
29
+ # lcb_n1ql_cancel()
30
+ class CMDN1QL < FFI::Struct
31
+ layout :cmdflags, :uint,
32
+ :query, :string,
33
+ :nquery, :ulong,
34
+ :host, :string,
35
+ :content_type, :string,
36
+ :callback, :n1qlcallback,
37
+ :handle, :pointer
38
+ end
39
+
40
+ end
@@ -0,0 +1,33 @@
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_index ::
16
+ # (Integer) Server index to target. The server index must be valid and must also
17
+ # be either a master or a replica for the vBucket indicated in #vbid
18
+ # :vbid ::
19
+ # (Integer) < vBucket ID to query
20
+ # :uuid ::
21
+ # (Integer) < UUID known to client which should be queried
22
+ class CMDOBSEQNO < FFI::Struct
23
+ layout :cmdflags, :uint,
24
+ :exptime, :uint,
25
+ :cas, :ulong_long,
26
+ :key, KEYBUF.by_value,
27
+ :hashkey, KEYBUF.by_value,
28
+ :server_index, :ushort,
29
+ :vbid, :ushort,
30
+ :uuid, :ulong_long
31
+ end
32
+
33
+ end
@@ -0,0 +1,30 @@
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
+ # :servers ::
16
+ # (FFI::Pointer(*U16)) For internal use: This determines the servers the command should be
17
+ # routed to. Each entry is an index within the server.
18
+ # :nservers ::
19
+ # (Integer)
20
+ class CMDOBSERVE < FFI::Struct
21
+ layout :cmdflags, :uint,
22
+ :exptime, :uint,
23
+ :cas, :ulong_long,
24
+ :key, KEYBUF.by_value,
25
+ :hashkey, KEYBUF.by_value,
26
+ :servers, :pointer,
27
+ :nservers, :ulong
28
+ end
29
+
30
+ end
@@ -0,0 +1,40 @@
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
+ # :value ::
16
+ # (VALBUF) Value to store on the server. The value may be set using the
17
+ # LCB_CMD_SET_VALUE() or LCB_CMD_SET_VALUEIOV() API
18
+ # :flags ::
19
+ # (Integer) Format flags used by clients to determine the underlying encoding of
20
+ # the value. This value is also returned during retrieval operations in the
21
+ # lcb_RESPGET::itmflags field
22
+ # :datatype ::
23
+ # (Integer) Do not set this value for now
24
+ # :operation ::
25
+ # (StorageT) Controls *how* the operation is perfomed. See the documentation for
26
+ # @ref lcb_storage_t for the options. There is no default value for this
27
+ # field.
28
+ class CMDSTORE < FFI::Struct
29
+ layout :cmdflags, :uint,
30
+ :exptime, :uint,
31
+ :cas, :ulong_long,
32
+ :key, KEYBUF.by_value,
33
+ :hashkey, KEYBUF.by_value,
34
+ :value, VALBUF.by_value,
35
+ :flags, :uint,
36
+ :datatype, :uchar,
37
+ :operation, StorageT
38
+ end
39
+
40
+ end
@@ -0,0 +1,45 @@
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
+ # :value ::
16
+ # (VALBUF) < @see lcb_CMDSTORE::value
17
+ # :flags ::
18
+ # (Integer) < @see lcb_CMDSTORE::flags
19
+ # :datatype ::
20
+ # (Integer) < @private
21
+ # :operation ::
22
+ # (StorageT) < @see lcb_CMDSTORE::operation
23
+ # :persist_to ::
24
+ # (Integer) Number of nodes to persist to. If negative, will be capped at the maximum
25
+ # allowable for the current cluster.
26
+ # @see lcb_DURABILITYOPTSv0::persist_to
27
+ # :replicate_to ::
28
+ # (Integer) Number of nodes to replicate to. If negative, will be capped at the maximum
29
+ # allowable for the current cluster.
30
+ # @see lcb_DURABILITYOPTSv0::replicate_to
31
+ class CMDSTOREDUR < FFI::Struct
32
+ layout :cmdflags, :uint,
33
+ :exptime, :uint,
34
+ :cas, :ulong_long,
35
+ :key, KEYBUF.by_value,
36
+ :hashkey, KEYBUF.by_value,
37
+ :value, VALBUF.by_value,
38
+ :flags, :uint,
39
+ :datatype, :uchar,
40
+ :operation, StorageT,
41
+ :persist_to, :char,
42
+ :replicate_to, :char
43
+ end
44
+
45
+ end