libcouchbase-mapo 1.4.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 (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,41 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :row ::
20
+ # (String) Current result row. If #rflags has the ::LCB_RESP_F_FINAL bit set, then
21
+ # this field does not contain the actual row, but the remainder of the
22
+ # data not included with the resultset; e.g. the JSON surrounding
23
+ # the "results" field with any errors or metadata for the response.
24
+ # :nrow ::
25
+ # (Integer) Length of the row
26
+ # :htresp ::
27
+ # (RESPHTTP) Raw HTTP response, if applicable
28
+ class RESPN1QL < FFI::Struct
29
+ layout :cookie, :pointer,
30
+ :key, :pointer,
31
+ :nkey, :ulong,
32
+ :cas, :ulong_long,
33
+ :rc, ErrorT,
34
+ :version, :ushort,
35
+ :rflags, :ushort,
36
+ :row, :pointer,
37
+ :nrow, :ulong,
38
+ :htresp, RESPHTTP.by_ref
39
+ end
40
+
41
+ end
@@ -0,0 +1,52 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :vbid ::
20
+ # (Integer) < vBucket ID (for potential mapping)
21
+ # :server_index ::
22
+ # (Integer) < Input server index
23
+ # :cur_uuid ::
24
+ # (Integer) < UUID for this vBucket as known to the server
25
+ # :persisted_seqno ::
26
+ # (Integer) < Highest persisted sequence
27
+ # :mem_seqno ::
28
+ # (Integer) < Highest known sequence
29
+ # :old_uuid ::
30
+ # (Integer) In the case where the command's uuid is not the most current, this
31
+ # contains the last known UUID
32
+ # :old_seqno ::
33
+ # (Integer) If #old_uuid is nonzero, contains the highest sequence number persisted
34
+ # in the #old_uuid snapshot.
35
+ class RESPOBSEQNO < FFI::Struct
36
+ layout :cookie, :pointer,
37
+ :key, :pointer,
38
+ :nkey, :ulong,
39
+ :cas, :ulong_long,
40
+ :rc, ErrorT,
41
+ :version, :ushort,
42
+ :rflags, :ushort,
43
+ :vbid, :ushort,
44
+ :server_index, :ushort,
45
+ :cur_uuid, :ulong_long,
46
+ :persisted_seqno, :ulong_long,
47
+ :mem_seqno, :ulong_long,
48
+ :old_uuid, :ulong_long,
49
+ :old_seqno, :ulong_long
50
+ end
51
+
52
+ end
@@ -0,0 +1,41 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :status ::
20
+ # (Integer) <Bit set of flags
21
+ # :ismaster ::
22
+ # (Integer) < Set to true if this response came from the master node
23
+ # :ttp ::
24
+ # (Integer) <Unused. For internal requests, contains the server index
25
+ # :ttr ::
26
+ # (Integer) <Unused
27
+ class RESPOBSERVE < FFI::Struct
28
+ layout :cookie, :pointer,
29
+ :key, :pointer,
30
+ :nkey, :ulong,
31
+ :cas, :ulong_long,
32
+ :rc, ErrorT,
33
+ :version, :ushort,
34
+ :rflags, :ushort,
35
+ :status, :uchar,
36
+ :ismaster, :uchar,
37
+ :ttp, :uint,
38
+ :ttr, :uint
39
+ end
40
+
41
+ end
@@ -0,0 +1,32 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :server ::
20
+ # (String)
21
+ class RESPSERVERBASE < FFI::Struct
22
+ layout :cookie, :pointer,
23
+ :key, :pointer,
24
+ :nkey, :ulong,
25
+ :cas, :ulong_long,
26
+ :rc, ErrorT,
27
+ :version, :ushort,
28
+ :rflags, :ushort,
29
+ :server, :string
30
+ end
31
+
32
+ end
@@ -0,0 +1,38 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :server ::
20
+ # (String)
21
+ # :value ::
22
+ # (String) < The value, if any, for the given statistic
23
+ # :nvalue ::
24
+ # (Integer) < Length of value
25
+ class RESPSTATS < FFI::Struct
26
+ layout :cookie, :pointer,
27
+ :key, :pointer,
28
+ :nkey, :ulong,
29
+ :cas, :ulong_long,
30
+ :rc, ErrorT,
31
+ :version, :ushort,
32
+ :rflags, :ushort,
33
+ :server, :string,
34
+ :value, :string,
35
+ :nvalue, :ulong
36
+ end
37
+
38
+ end
@@ -0,0 +1,32 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :op ::
20
+ # (StorageT) The type of operation which was performed
21
+ class RESPSTORE < FFI::Struct
22
+ layout :cookie, :pointer,
23
+ :key, :pointer,
24
+ :nkey, :ulong,
25
+ :cas, :ulong_long,
26
+ :rc, ErrorT,
27
+ :version, :ushort,
28
+ :rflags, :ushort,
29
+ :op, StorageT
30
+ end
31
+
32
+ end
@@ -0,0 +1,38 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :dur_resp ::
20
+ # (RESPENDURE) Internal durability response structure. This should never be NULL
21
+ # :store_ok ::
22
+ # (Integer) If the #rc field is not @ref LCB_SUCCESS, this field indicates
23
+ # what failed. If this field is nonzero, then the store operation failed,
24
+ # but the durability checking failed. If this field is zero then the
25
+ # actual storage operation failed.
26
+ class RESPSTOREDUR < FFI::Struct
27
+ layout :cookie, :pointer,
28
+ :key, :pointer,
29
+ :nkey, :ulong,
30
+ :cas, :ulong_long,
31
+ :rc, ErrorT,
32
+ :version, :ushort,
33
+ :rflags, :ushort,
34
+ :dur_resp, RESPENDURE.by_ref,
35
+ :store_ok, :int
36
+ end
37
+
38
+ end
@@ -0,0 +1,35 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :responses ::
20
+ # (FFI::Pointer(*Void))
21
+ # :bufh ::
22
+ # (FFI::Pointer(*Void)) Use with lcb_backbuf_ref/unref
23
+ class RESPSUBDOC < FFI::Struct
24
+ layout :cookie, :pointer,
25
+ :key, :pointer,
26
+ :nkey, :ulong,
27
+ :cas, :ulong_long,
28
+ :rc, ErrorT,
29
+ :version, :ushort,
30
+ :rflags, :ushort,
31
+ :responses, :pointer,
32
+ :bufh, :pointer
33
+ end
34
+
35
+ end
@@ -0,0 +1,67 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :cookie ::
6
+ # (FFI::Pointer(*Void))
7
+ # :key ::
8
+ # (FFI::Pointer(*Void))
9
+ # :nkey ::
10
+ # (Integer)
11
+ # :cas ::
12
+ # (Integer)
13
+ # :rc ::
14
+ # (ErrorT)
15
+ # :version ::
16
+ # (Integer)
17
+ # :rflags ::
18
+ # (Integer)
19
+ # :docid ::
20
+ # (String) < Document ID (i.e. memcached key) associated with this row
21
+ # :ndocid ::
22
+ # (Integer) < Length of document ID
23
+ # :value ::
24
+ # (String) Emitted value. If `rflags & LCB_RESP_F_FINAL` is true then this will
25
+ # contain the _metadata_ of the view response itself. This includes the
26
+ # `total_rows` field among other things, and should be parsed as JSON
27
+ # :nvalue ::
28
+ # (Integer) < Length of emitted value
29
+ # :geometry ::
30
+ # (String) If this is a spatial view, the GeoJSON geometry fields will be here
31
+ # :ngeometry ::
32
+ # (Integer)
33
+ # :htresp ::
34
+ # (RESPHTTP) If the request failed, this will contain the raw underlying request.
35
+ # You may inspect this request and perform some other processing on
36
+ # the underlying HTTP data. Note that this may not necessarily contain
37
+ # the entire response body; just the chunk at which processing failed.
38
+ # :docresp ::
39
+ # (RESPGET) If @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS was specified in the request,
40
+ # this will contain the response for the _GET_ command. This is the same
41
+ # response as would be received in the `LCB_CALLBACK_GET` for
42
+ # lcb_get3().
43
+ #
44
+ # Note that this field should be checked for various errors as well, as it
45
+ # is remotely possible the get request did not succeed.
46
+ #
47
+ # If the @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS flag was not specified, this
48
+ # field will be `NULL`.
49
+ class RESPVIEWQUERY < FFI::Struct
50
+ layout :cookie, :pointer,
51
+ :key, :pointer,
52
+ :nkey, :ulong,
53
+ :cas, :ulong_long,
54
+ :rc, ErrorT,
55
+ :version, :ushort,
56
+ :rflags, :ushort,
57
+ :docid, :pointer,
58
+ :ndocid, :ulong,
59
+ :value, :pointer,
60
+ :nvalue, :ulong,
61
+ :geometry, :pointer,
62
+ :ngeometry, :ulong,
63
+ :htresp, RESPHTTP.by_ref,
64
+ :docresp, RESPGET.by_ref
65
+ end
66
+
67
+ end
@@ -0,0 +1,22 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :value ::
6
+ # (FFI::Pointer(*Void)) Value for the mutation (only applicable for ::LCB_SUBDOC_COUNTER, currently)
7
+ # :nvalue ::
8
+ # (Integer) Length of the value
9
+ # :status ::
10
+ # (ErrorT) Status code
11
+ # :index ::
12
+ # (Integer) Request index which this result pertains to. This field only
13
+ # makes sense for multi mutations where not all request specs are returned
14
+ # in the result
15
+ class SDENTRY < FFI::Struct
16
+ layout :value, :pointer,
17
+ :nvalue, :ulong,
18
+ :status, ErrorT,
19
+ :index, :uchar
20
+ end
21
+
22
+ end
@@ -0,0 +1,31 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ #
4
+ # ## Fields:
5
+ # :sdcmd ::
6
+ # (Integer) The command code, @ref lcb_SUBDOCOP. There is no default for this
7
+ # value, and it therefore must be set.
8
+ # :options ::
9
+ # (Integer) Set of option flags for the command. Currently the only option known
10
+ # is @ref LCB_SDSPEC_F_MKINTERMEDIATES
11
+ # :path ::
12
+ # (KEYBUF) Path for the operation. This should be assigned using
13
+ # @ref LCB_SDSPEC_SET_PATH. The contents of the path should be valid
14
+ # until the operation is scheduled (lcb_subdoc3())
15
+ # :value ::
16
+ # (VALBUF) @value for the operation. This should be assigned using
17
+ # @ref LCB_SDSPEC_SET_VALUE. The contents of the value should be valid
18
+ # until the operation is scheduled (i.e. lcb_subdoc3())
19
+ class SDSPEC < FFI::Struct
20
+ MKINTERMEDIATES = (1<<16) # Create intermediate paths
21
+ XATTRPATH = (1<<18) # Access document XATTR path
22
+ XATTR_MACROVALUES = (1<<19) # Access document virtual/materialized path
23
+ XATTR_DELETED_OK = (1<<20) # Access Xattrs of deleted documents
24
+
25
+ layout :sdcmd, :uint,
26
+ :options, :uint,
27
+ :path, KEYBUF.by_value,
28
+ :value, VALBUF.by_value
29
+ end
30
+
31
+ end
@@ -0,0 +1,7 @@
1
+ module Libcouchbase::Ext
2
+ # (Not documented)
3
+ class T < FFI::Struct
4
+ layout :dummy, :char
5
+ end
6
+
7
+ end