couchbase 3.1.1-universal-darwin-20 → 3.2.0-universal-darwin-20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/ext/CMakeLists.txt +3 -1
- data/ext/build_version.hxx.in +1 -1
- data/ext/cmake/Testing.cmake +1 -0
- data/ext/cmake/ThirdPartyDependencies.cmake +6 -0
- data/ext/cmake/VersionInfo.cmake +3 -0
- data/ext/couchbase/bucket.hxx +47 -28
- data/ext/couchbase/cbsasl/client.h +1 -1
- data/ext/couchbase/cbsasl/context.cc +1 -1
- data/ext/couchbase/cbsasl/context.h +3 -3
- data/ext/couchbase/cbsasl/mechanism.cc +5 -8
- data/ext/couchbase/cbsasl/mechanism.h +1 -4
- data/ext/couchbase/cbsasl/plain/plain.cc +1 -1
- data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +30 -36
- data/ext/couchbase/cluster.hxx +40 -22
- data/ext/couchbase/cluster_options.hxx +7 -1
- data/ext/couchbase/configuration.hxx +37 -16
- data/ext/couchbase/couchbase.cxx +1145 -291
- data/ext/couchbase/error_map.hxx +1 -1
- data/ext/couchbase/errors.hxx +25 -17
- data/ext/couchbase/io/dns_client.hxx +3 -3
- data/ext/couchbase/io/dns_codec.hxx +4 -5
- data/ext/couchbase/io/dns_config.hxx +5 -6
- data/ext/couchbase/io/dns_message.hxx +3 -3
- data/ext/couchbase/io/http_command.hxx +70 -35
- data/ext/couchbase/io/http_session.hxx +4 -3
- data/ext/couchbase/io/http_session_manager.hxx +28 -19
- data/ext/couchbase/io/mcbp_command.hxx +51 -19
- data/ext/couchbase/io/mcbp_context.hxx +1 -1
- data/ext/couchbase/io/mcbp_parser.hxx +4 -4
- data/ext/couchbase/io/mcbp_session.hxx +91 -101
- data/ext/couchbase/io/query_cache.hxx +2 -2
- data/ext/couchbase/io/retry_orchestrator.hxx +2 -4
- data/ext/couchbase/io/retry_reason.hxx +2 -2
- data/ext/couchbase/io/retry_strategy.hxx +1 -6
- data/ext/couchbase/io/streams.hxx +7 -7
- data/ext/couchbase/metrics/logging_meter.hxx +228 -0
- data/ext/couchbase/metrics/logging_meter_options.hxx +28 -0
- data/ext/couchbase/metrics/meter.hxx +49 -0
- data/ext/couchbase/metrics/noop_meter.hxx +43 -0
- data/ext/couchbase/operations.hxx +4 -0
- data/ext/couchbase/operations/analytics_dataset_create.hxx +16 -12
- data/ext/couchbase/operations/analytics_dataset_drop.hxx +11 -11
- data/ext/couchbase/operations/analytics_dataset_get_all.hxx +6 -6
- data/ext/couchbase/operations/analytics_dataverse_create.hxx +10 -11
- data/ext/couchbase/operations/analytics_dataverse_drop.hxx +10 -11
- data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +9 -11
- data/ext/couchbase/operations/analytics_index_create.hxx +14 -13
- data/ext/couchbase/operations/analytics_index_drop.hxx +18 -12
- data/ext/couchbase/operations/analytics_index_get_all.hxx +8 -6
- data/ext/couchbase/operations/analytics_link.hxx +39 -0
- data/ext/couchbase/operations/analytics_link_azure_blob_external.hxx +145 -0
- data/ext/couchbase/operations/analytics_link_connect.hxx +14 -12
- data/ext/couchbase/operations/analytics_link_couchbase_remote.hxx +220 -0
- data/ext/couchbase/operations/analytics_link_create.hxx +128 -0
- data/ext/couchbase/operations/analytics_link_disconnect.hxx +11 -12
- data/ext/couchbase/operations/analytics_link_drop.hxx +130 -0
- data/ext/couchbase/operations/analytics_link_get_all.hxx +160 -0
- data/ext/couchbase/operations/analytics_link_replace.hxx +128 -0
- data/ext/couchbase/operations/analytics_link_s3_external.hxx +122 -0
- data/ext/couchbase/operations/bucket_create.hxx +8 -8
- data/ext/couchbase/operations/bucket_drop.hxx +5 -5
- data/ext/couchbase/operations/bucket_flush.hxx +5 -5
- data/ext/couchbase/operations/bucket_get.hxx +7 -7
- data/ext/couchbase/operations/bucket_get_all.hxx +7 -5
- data/ext/couchbase/operations/bucket_settings.hxx +40 -49
- data/ext/couchbase/operations/bucket_update.hxx +8 -8
- data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +7 -7
- data/ext/couchbase/operations/collection_create.hxx +11 -11
- data/ext/couchbase/operations/collection_drop.hxx +12 -10
- data/ext/couchbase/operations/collections_manifest_get.hxx +3 -3
- data/ext/couchbase/operations/design_document.hxx +2 -2
- data/ext/couchbase/operations/document_analytics.hxx +29 -36
- data/ext/couchbase/operations/document_append.hxx +3 -3
- data/ext/couchbase/operations/document_decrement.hxx +3 -3
- data/ext/couchbase/operations/document_exists.hxx +2 -2
- data/ext/couchbase/operations/document_get.hxx +3 -3
- data/ext/couchbase/operations/document_get_and_lock.hxx +5 -3
- data/ext/couchbase/operations/document_get_and_touch.hxx +5 -3
- data/ext/couchbase/operations/document_get_projected.hxx +10 -11
- data/ext/couchbase/operations/document_increment.hxx +3 -3
- data/ext/couchbase/operations/document_insert.hxx +3 -3
- data/ext/couchbase/operations/document_lookup_in.hxx +12 -18
- data/ext/couchbase/operations/document_mutate_in.hxx +13 -18
- data/ext/couchbase/operations/document_prepend.hxx +3 -3
- data/ext/couchbase/operations/document_query.hxx +39 -41
- data/ext/couchbase/operations/document_remove.hxx +3 -3
- data/ext/couchbase/operations/document_replace.hxx +3 -3
- data/ext/couchbase/operations/document_search.hxx +56 -61
- data/ext/couchbase/operations/document_touch.hxx +3 -3
- data/ext/couchbase/operations/document_unlock.hxx +3 -3
- data/ext/couchbase/operations/document_upsert.hxx +3 -3
- data/ext/couchbase/operations/document_view.hxx +23 -23
- data/ext/couchbase/operations/group_drop.hxx +5 -5
- data/ext/couchbase/operations/group_get.hxx +7 -7
- data/ext/couchbase/operations/group_get_all.hxx +6 -6
- data/ext/couchbase/operations/group_upsert.hxx +11 -11
- data/ext/couchbase/operations/http_noop.hxx +6 -6
- data/ext/couchbase/operations/mcbp_noop.hxx +3 -3
- data/ext/couchbase/operations/query_index_build_deferred.hxx +6 -6
- data/ext/couchbase/operations/query_index_create.hxx +10 -8
- data/ext/couchbase/operations/query_index_drop.hxx +8 -8
- data/ext/couchbase/operations/query_index_get_all.hxx +43 -39
- data/ext/couchbase/operations/rbac.hxx +40 -63
- data/ext/couchbase/operations/role_get_all.hxx +6 -6
- data/ext/couchbase/operations/scope_create.hxx +10 -10
- data/ext/couchbase/operations/scope_drop.hxx +9 -9
- data/ext/couchbase/operations/scope_get_all.hxx +8 -8
- data/ext/couchbase/operations/search_get_stats.hxx +5 -3
- data/ext/couchbase/operations/search_index.hxx +6 -15
- data/ext/couchbase/operations/search_index_analyze_document.hxx +11 -11
- data/ext/couchbase/operations/search_index_control_ingest.hxx +9 -9
- data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +9 -9
- data/ext/couchbase/operations/search_index_control_query.hxx +9 -9
- data/ext/couchbase/operations/search_index_drop.hxx +11 -9
- data/ext/couchbase/operations/search_index_get.hxx +11 -9
- data/ext/couchbase/operations/search_index_get_all.hxx +11 -11
- data/ext/couchbase/operations/search_index_get_documents_count.hxx +10 -10
- data/ext/couchbase/operations/search_index_get_stats.hxx +10 -8
- data/ext/couchbase/operations/search_index_upsert.hxx +12 -10
- data/ext/couchbase/operations/user_drop.hxx +5 -5
- data/ext/couchbase/operations/user_get.hxx +7 -7
- data/ext/couchbase/operations/user_get_all.hxx +6 -6
- data/ext/couchbase/operations/user_upsert.hxx +9 -9
- data/ext/couchbase/operations/view_index_drop.hxx +10 -10
- data/ext/couchbase/operations/view_index_get.hxx +13 -15
- data/ext/couchbase/operations/view_index_get_all.hxx +17 -20
- data/ext/couchbase/operations/view_index_upsert.hxx +9 -7
- data/ext/couchbase/origin.hxx +14 -10
- data/ext/couchbase/platform/backtrace.c +1 -1
- data/ext/couchbase/platform/base64.cc +5 -5
- data/ext/couchbase/platform/base64.h +2 -5
- data/ext/couchbase/protocol/client_opcode.hxx +7 -4
- data/ext/couchbase/protocol/client_request.hxx +2 -2
- data/ext/couchbase/protocol/client_response.hxx +41 -16
- data/ext/couchbase/protocol/cmd_append.hxx +17 -16
- data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +4 -4
- data/ext/couchbase/protocol/cmd_decrement.hxx +10 -11
- data/ext/couchbase/protocol/cmd_exists.hxx +12 -15
- data/ext/couchbase/protocol/cmd_get.hxx +11 -14
- data/ext/couchbase/protocol/cmd_get_and_lock.hxx +10 -12
- data/ext/couchbase/protocol/cmd_get_and_touch.hxx +10 -12
- data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +13 -18
- data/ext/couchbase/protocol/cmd_get_collection_id.hxx +12 -15
- data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +12 -16
- data/ext/couchbase/protocol/cmd_get_error_map.hxx +14 -17
- data/ext/couchbase/protocol/cmd_hello.hxx +8 -10
- data/ext/couchbase/protocol/cmd_increment.hxx +9 -10
- data/ext/couchbase/protocol/cmd_insert.hxx +9 -9
- data/ext/couchbase/protocol/cmd_lookup_in.hxx +12 -13
- data/ext/couchbase/protocol/cmd_mutate_in.hxx +11 -11
- data/ext/couchbase/protocol/cmd_noop.hxx +16 -20
- data/ext/couchbase/protocol/cmd_prepend.hxx +9 -10
- data/ext/couchbase/protocol/cmd_remove.hxx +10 -13
- data/ext/couchbase/protocol/cmd_replace.hxx +7 -7
- data/ext/couchbase/protocol/cmd_sasl_auth.hxx +8 -10
- data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +10 -15
- data/ext/couchbase/protocol/cmd_sasl_step.hxx +10 -12
- data/ext/couchbase/protocol/cmd_select_bucket.hxx +14 -18
- data/ext/couchbase/protocol/cmd_touch.hxx +8 -11
- data/ext/couchbase/protocol/cmd_unlock.hxx +10 -14
- data/ext/couchbase/protocol/cmd_upsert.hxx +8 -8
- data/ext/couchbase/protocol/datatype.hxx +3 -3
- data/ext/couchbase/protocol/durability_level.hxx +2 -2
- data/ext/couchbase/protocol/frame_info_id.hxx +4 -4
- data/ext/couchbase/protocol/hello_feature.hxx +2 -2
- data/ext/couchbase/protocol/magic.hxx +2 -2
- data/ext/couchbase/protocol/server_opcode.hxx +2 -2
- data/ext/couchbase/protocol/server_request.hxx +1 -1
- data/ext/couchbase/protocol/status.hxx +4 -7
- data/ext/couchbase/protocol/unsigned_leb128.h +5 -20
- data/ext/couchbase/service_type.hxx +4 -4
- data/ext/couchbase/tracing/constants.hxx +261 -0
- data/ext/couchbase/tracing/noop_tracer.hxx +50 -0
- data/ext/couchbase/tracing/request_tracer.hxx +77 -0
- data/ext/couchbase/tracing/threshold_logging_options.hxx +64 -0
- data/ext/couchbase/tracing/threshold_logging_tracer.hxx +366 -0
- data/ext/couchbase/utils/byteswap.hxx +1 -1
- data/ext/couchbase/utils/connection_string.hxx +21 -1
- data/ext/couchbase/utils/name_codec.hxx +41 -0
- data/ext/couchbase/utils/url_codec.hxx +236 -0
- data/ext/couchbase/version.hxx +1 -1
- data/ext/test/CMakeLists.txt +1 -0
- data/ext/test/test_native_trivial_query.cxx +60 -0
- data/ext/third_party/hdr_histogram_c/CMakeLists.txt +84 -0
- data/ext/third_party/hdr_histogram_c/COPYING.txt +121 -0
- data/ext/third_party/hdr_histogram_c/LICENSE.txt +41 -0
- data/ext/third_party/hdr_histogram_c/config.cmake.in +6 -0
- data/ext/third_party/hdr_histogram_c/src/CMakeLists.txt +83 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_atomic.h +146 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_encoding.c +322 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_encoding.h +79 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_endian.h +116 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_histogram.c +1196 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_histogram.h +516 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_histogram_log.c +1290 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_histogram_log.h +236 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_histogram_log_no_op.c +171 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_interval_recorder.c +227 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_interval_recorder.h +109 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_malloc.h +19 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_tests.h +22 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_thread.c +108 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_thread.h +55 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_time.c +98 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_time.h +49 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.c +143 -0
- data/ext/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.h +51 -0
- data/lib/couchbase/cluster.rb +1 -0
- data/lib/couchbase/errors.rb +3 -0
- data/lib/couchbase/libcouchbase.bundle +0 -0
- data/lib/couchbase/management/analytics_index_manager.rb +920 -226
- data/lib/couchbase/management/bucket_manager.rb +207 -69
- data/lib/couchbase/management/collection_manager.rb +173 -61
- data/lib/couchbase/management/query_index_manager.rb +357 -169
- data/lib/couchbase/options.rb +75 -3
- data/lib/couchbase/scope.rb +102 -0
- data/lib/couchbase/utils/time.rb +4 -0
- data/lib/couchbase/version.rb +6 -6
- metadata +48 -5
@@ -42,7 +42,7 @@ class sasl_list_mechs_response_body
|
|
42
42
|
std::uint16_t key_size,
|
43
43
|
std::uint8_t extras_size,
|
44
44
|
const std::vector<uint8_t>& body,
|
45
|
-
const cmd_info&)
|
45
|
+
const cmd_info& /* info */)
|
46
46
|
{
|
47
47
|
Expects(header[1] == static_cast<uint8_t>(opcode));
|
48
48
|
if (status == protocol::status::success) {
|
@@ -66,32 +66,27 @@ class sasl_list_mechs_request_body
|
|
66
66
|
using response_body_type = sasl_list_mechs_response_body;
|
67
67
|
static const inline client_opcode opcode = client_opcode::sasl_list_mechs;
|
68
68
|
|
69
|
-
|
70
|
-
const std::string& key()
|
69
|
+
[[nodiscard]] const std::string& key() const
|
71
70
|
{
|
72
|
-
|
73
|
-
return empty;
|
71
|
+
return empty_string;
|
74
72
|
}
|
75
73
|
|
76
|
-
const std::vector<std::uint8_t>& framing_extras()
|
74
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
77
75
|
{
|
78
|
-
|
79
|
-
return empty;
|
76
|
+
return empty_buffer;
|
80
77
|
}
|
81
78
|
|
82
|
-
const std::vector<std::uint8_t>& extras()
|
79
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras() const
|
83
80
|
{
|
84
|
-
|
85
|
-
return empty;
|
81
|
+
return empty_buffer;
|
86
82
|
}
|
87
83
|
|
88
|
-
const std::vector<std::uint8_t>& value()
|
84
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
89
85
|
{
|
90
|
-
|
91
|
-
return empty;
|
86
|
+
return empty_buffer;
|
92
87
|
}
|
93
88
|
|
94
|
-
std::size_t size()
|
89
|
+
[[nodiscard]] std::size_t size() const
|
95
90
|
{
|
96
91
|
return 0;
|
97
92
|
}
|
@@ -36,7 +36,7 @@ class sasl_step_response_body
|
|
36
36
|
std::uint16_t key_size,
|
37
37
|
std::uint8_t extras_size,
|
38
38
|
const std::vector<uint8_t>& body,
|
39
|
-
const cmd_info&)
|
39
|
+
const cmd_info& /* info */)
|
40
40
|
{
|
41
41
|
Expects(header[1] == static_cast<uint8_t>(opcode));
|
42
42
|
if (status == protocol::status::success) {
|
@@ -59,8 +59,8 @@ class sasl_step_request_body
|
|
59
59
|
static const inline client_opcode opcode = client_opcode::sasl_step;
|
60
60
|
|
61
61
|
private:
|
62
|
-
std::string key_;
|
63
|
-
std::vector<std::uint8_t> value_;
|
62
|
+
std::string key_{};
|
63
|
+
std::vector<std::uint8_t> value_{};
|
64
64
|
|
65
65
|
public:
|
66
66
|
void mechanism(std::string_view mech)
|
@@ -73,29 +73,27 @@ class sasl_step_request_body
|
|
73
73
|
value_.assign(data.begin(), data.end());
|
74
74
|
}
|
75
75
|
|
76
|
-
const std::string& key()
|
76
|
+
[[nodiscard]] const std::string& key() const
|
77
77
|
{
|
78
78
|
return key_;
|
79
79
|
}
|
80
80
|
|
81
|
-
const std::vector<std::uint8_t>& framing_extras()
|
81
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
82
82
|
{
|
83
|
-
|
84
|
-
return empty;
|
83
|
+
return empty_buffer;
|
85
84
|
}
|
86
85
|
|
87
|
-
const std::vector<std::uint8_t>& extras()
|
86
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras() const
|
88
87
|
{
|
89
|
-
|
90
|
-
return empty;
|
88
|
+
return empty_buffer;
|
91
89
|
}
|
92
90
|
|
93
|
-
const std::vector<std::uint8_t>& value()
|
91
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
94
92
|
{
|
95
93
|
return value_;
|
96
94
|
}
|
97
95
|
|
98
|
-
std::size_t size()
|
96
|
+
[[nodiscard]] std::size_t size() const
|
99
97
|
{
|
100
98
|
return key_.size() + value_.size();
|
101
99
|
}
|
@@ -24,14 +24,13 @@ class select_bucket_response_body
|
|
24
24
|
public:
|
25
25
|
static const inline client_opcode opcode = client_opcode::select_bucket;
|
26
26
|
|
27
|
-
|
28
|
-
bool parse(protocol::status,
|
27
|
+
bool parse(protocol::status /* status */,
|
29
28
|
const header_buffer& header,
|
30
|
-
std::uint8_t
|
31
|
-
std::uint16_t
|
32
|
-
std::uint8_t
|
33
|
-
const std::vector<uint8_t
|
34
|
-
const cmd_info&)
|
29
|
+
std::uint8_t /* framing_extras_size */,
|
30
|
+
std::uint16_t /* key_size */,
|
31
|
+
std::uint8_t /* extras_size */,
|
32
|
+
const std::vector<uint8_t>& /* body */,
|
33
|
+
const cmd_info& /* info */)
|
35
34
|
{
|
36
35
|
Expects(header[1] == static_cast<uint8_t>(opcode));
|
37
36
|
return false;
|
@@ -53,30 +52,27 @@ class select_bucket_request_body
|
|
53
52
|
key_ = name;
|
54
53
|
}
|
55
54
|
|
56
|
-
const std::string& key()
|
55
|
+
[[nodiscard]] const std::string& key() const
|
57
56
|
{
|
58
57
|
return key_;
|
59
58
|
}
|
60
59
|
|
61
|
-
const std::vector<std::uint8_t>& framing_extras()
|
60
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
62
61
|
{
|
63
|
-
|
64
|
-
return empty;
|
62
|
+
return empty_buffer;
|
65
63
|
}
|
66
64
|
|
67
|
-
const std::vector<std::uint8_t>& extras()
|
65
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras() const
|
68
66
|
{
|
69
|
-
|
70
|
-
return empty;
|
67
|
+
return empty_buffer;
|
71
68
|
}
|
72
69
|
|
73
|
-
const std::vector<std::uint8_t>& value()
|
70
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
74
71
|
{
|
75
|
-
|
76
|
-
return empty;
|
72
|
+
return empty_buffer;
|
77
73
|
}
|
78
74
|
|
79
|
-
std::size_t size()
|
75
|
+
[[nodiscard]] std::size_t size() const
|
80
76
|
{
|
81
77
|
return key_.size();
|
82
78
|
}
|
@@ -19,8 +19,8 @@
|
|
19
19
|
|
20
20
|
#include <protocol/unsigned_leb128.h>
|
21
21
|
|
22
|
-
#include <protocol/client_opcode.hxx>
|
23
22
|
#include <document_id.hxx>
|
23
|
+
#include <protocol/client_opcode.hxx>
|
24
24
|
|
25
25
|
namespace couchbase::protocol
|
26
26
|
{
|
@@ -30,7 +30,6 @@ class touch_response_body
|
|
30
30
|
public:
|
31
31
|
static const inline client_opcode opcode = client_opcode::touch;
|
32
32
|
|
33
|
-
public:
|
34
33
|
bool parse(protocol::status /* status */,
|
35
34
|
const header_buffer& header,
|
36
35
|
std::uint8_t /* framing_extras_size */,
|
@@ -71,29 +70,27 @@ class touch_request_body
|
|
71
70
|
memcpy(extras_.data(), &seconds, sizeof(seconds));
|
72
71
|
}
|
73
72
|
|
74
|
-
const std::string& key()
|
73
|
+
[[nodiscard]] const std::string& key() const
|
75
74
|
{
|
76
75
|
return key_;
|
77
76
|
}
|
78
77
|
|
79
|
-
const std::vector<std::uint8_t>& framing_extras()
|
78
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
80
79
|
{
|
81
|
-
|
82
|
-
return empty;
|
80
|
+
return empty_buffer;
|
83
81
|
}
|
84
82
|
|
85
|
-
const std::vector<std::uint8_t>& extras()
|
83
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras() const
|
86
84
|
{
|
87
85
|
return extras_;
|
88
86
|
}
|
89
87
|
|
90
|
-
const std::vector<std::uint8_t>& value()
|
88
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
91
89
|
{
|
92
|
-
|
93
|
-
return empty;
|
90
|
+
return empty_buffer;
|
94
91
|
}
|
95
92
|
|
96
|
-
std::size_t size()
|
93
|
+
[[nodiscard]] std::size_t size() const
|
97
94
|
{
|
98
95
|
return key_.size() + extras_.size();
|
99
96
|
}
|
@@ -19,8 +19,8 @@
|
|
19
19
|
|
20
20
|
#include <protocol/unsigned_leb128.h>
|
21
21
|
|
22
|
-
#include <protocol/client_opcode.hxx>
|
23
22
|
#include <document_id.hxx>
|
23
|
+
#include <protocol/client_opcode.hxx>
|
24
24
|
|
25
25
|
namespace couchbase::protocol
|
26
26
|
{
|
@@ -30,14 +30,13 @@ class unlock_response_body
|
|
30
30
|
public:
|
31
31
|
static const inline client_opcode opcode = client_opcode::unlock;
|
32
32
|
|
33
|
-
public:
|
34
33
|
bool parse(protocol::status /* status */,
|
35
34
|
const header_buffer& header,
|
36
35
|
std::uint8_t /* framing_extras_size */,
|
37
36
|
std::uint16_t /* key_size */,
|
38
37
|
std::uint8_t /* extras_size */,
|
39
38
|
const std::vector<uint8_t>& /* body */,
|
40
|
-
const cmd_info&)
|
39
|
+
const cmd_info& /* info */)
|
41
40
|
{
|
42
41
|
Expects(header[1] == static_cast<uint8_t>(opcode));
|
43
42
|
return false;
|
@@ -63,30 +62,27 @@ class unlock_request_body
|
|
63
62
|
}
|
64
63
|
}
|
65
64
|
|
66
|
-
const std::string& key()
|
65
|
+
[[nodiscard]] const std::string& key() const
|
67
66
|
{
|
68
67
|
return key_;
|
69
68
|
}
|
70
69
|
|
71
|
-
const std::vector<std::uint8_t>& framing_extras()
|
70
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
72
71
|
{
|
73
|
-
|
74
|
-
return empty;
|
72
|
+
return empty_buffer;
|
75
73
|
}
|
76
74
|
|
77
|
-
const std::vector<std::uint8_t>& extras()
|
75
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras() const
|
78
76
|
{
|
79
|
-
|
80
|
-
return empty;
|
77
|
+
return empty_buffer;
|
81
78
|
}
|
82
79
|
|
83
|
-
const std::vector<std::uint8_t>& value()
|
80
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
84
81
|
{
|
85
|
-
|
86
|
-
return empty;
|
82
|
+
return empty_buffer;
|
87
83
|
}
|
88
84
|
|
89
|
-
std::size_t size()
|
85
|
+
[[nodiscard]] std::size_t size() const
|
90
86
|
{
|
91
87
|
return key_.size();
|
92
88
|
}
|
@@ -37,7 +37,7 @@ class upsert_response_body
|
|
37
37
|
mutation_token token_;
|
38
38
|
|
39
39
|
public:
|
40
|
-
mutation_token& token()
|
40
|
+
[[nodiscard]] const mutation_token& token() const
|
41
41
|
{
|
42
42
|
return token_;
|
43
43
|
}
|
@@ -48,7 +48,7 @@ class upsert_response_body
|
|
48
48
|
std::uint16_t,
|
49
49
|
std::uint8_t extras_size,
|
50
50
|
const std::vector<uint8_t>& body,
|
51
|
-
const cmd_info&)
|
51
|
+
const cmd_info& /* info */)
|
52
52
|
{
|
53
53
|
Expects(header[1] == static_cast<uint8_t>(opcode));
|
54
54
|
if (status == protocol::status::success) {
|
@@ -119,7 +119,7 @@ class upsert_request_body
|
|
119
119
|
framing_extras_[extras_size + 0] = static_cast<std::uint8_t>(static_cast<std::uint32_t>(frame_id) << 4U | 0U);
|
120
120
|
}
|
121
121
|
|
122
|
-
void content(const std::
|
122
|
+
void content(const std::string_view& content)
|
123
123
|
{
|
124
124
|
content_ = { content.begin(), content.end() };
|
125
125
|
}
|
@@ -134,17 +134,17 @@ class upsert_request_body
|
|
134
134
|
expiry_ = value;
|
135
135
|
}
|
136
136
|
|
137
|
-
const std::string& key()
|
137
|
+
[[nodiscard]] const std::string& key() const
|
138
138
|
{
|
139
139
|
return key_;
|
140
140
|
}
|
141
141
|
|
142
|
-
const std::vector<std::uint8_t>& framing_extras()
|
142
|
+
[[nodiscard]] const std::vector<std::uint8_t>& framing_extras() const
|
143
143
|
{
|
144
144
|
return framing_extras_;
|
145
145
|
}
|
146
146
|
|
147
|
-
const std::vector<std::uint8_t>& extras()
|
147
|
+
[[nodiscard]] const std::vector<std::uint8_t>& extras()
|
148
148
|
{
|
149
149
|
if (extras_.empty()) {
|
150
150
|
fill_extention();
|
@@ -152,12 +152,12 @@ class upsert_request_body
|
|
152
152
|
return extras_;
|
153
153
|
}
|
154
154
|
|
155
|
-
const std::vector<std::uint8_t>& value()
|
155
|
+
[[nodiscard]] const std::vector<std::uint8_t>& value() const
|
156
156
|
{
|
157
157
|
return content_;
|
158
158
|
}
|
159
159
|
|
160
|
-
std::size_t size()
|
160
|
+
[[nodiscard]] std::size_t size()
|
161
161
|
{
|
162
162
|
if (extras_.empty()) {
|
163
163
|
fill_extention();
|
@@ -27,10 +27,10 @@ enum class datatype : uint8_t {
|
|
27
27
|
|
28
28
|
};
|
29
29
|
|
30
|
-
constexpr
|
30
|
+
constexpr bool
|
31
31
|
is_valid_datatype(uint8_t code)
|
32
32
|
{
|
33
|
-
switch (
|
33
|
+
switch (datatype(code)) {
|
34
34
|
case datatype::raw:
|
35
35
|
case datatype::json:
|
36
36
|
case datatype::snappy:
|
@@ -40,7 +40,7 @@ is_valid_datatype(uint8_t code)
|
|
40
40
|
return false;
|
41
41
|
}
|
42
42
|
|
43
|
-
constexpr
|
43
|
+
constexpr bool
|
44
44
|
has_json_datatype(uint8_t code)
|
45
45
|
{
|
46
46
|
return (code & uint8_t(datatype::json)) != 0;
|
@@ -44,10 +44,10 @@ enum class durability_level : uint8_t {
|
|
44
44
|
persist_to_majority = 0x03,
|
45
45
|
};
|
46
46
|
|
47
|
-
constexpr
|
47
|
+
constexpr bool
|
48
48
|
is_valid_durability_level(uint8_t value)
|
49
49
|
{
|
50
|
-
switch (
|
50
|
+
switch (durability_level(value)) {
|
51
51
|
case durability_level::none:
|
52
52
|
case durability_level::majority:
|
53
53
|
case durability_level::majority_and_persist_to_active:
|
@@ -93,10 +93,10 @@ enum class request_frame_info_id : uint8_t {
|
|
93
93
|
preserve_ttl = 0x05,
|
94
94
|
};
|
95
95
|
|
96
|
-
constexpr
|
96
|
+
constexpr bool
|
97
97
|
is_valid_request_frame_info_id(uint8_t value)
|
98
98
|
{
|
99
|
-
switch (
|
99
|
+
switch (request_frame_info_id(value)) {
|
100
100
|
case request_frame_info_id::barrier:
|
101
101
|
case request_frame_info_id::durability_requirement:
|
102
102
|
case request_frame_info_id::dcp_stream_id:
|
@@ -129,10 +129,10 @@ enum class response_frame_info_id : uint8_t {
|
|
129
129
|
server_duration = 0x00,
|
130
130
|
};
|
131
131
|
|
132
|
-
constexpr
|
132
|
+
constexpr bool
|
133
133
|
is_valid_response_frame_info_id(uint8_t value)
|
134
134
|
{
|
135
|
-
switch (
|
135
|
+
switch (response_frame_info_id(value)) {
|
136
136
|
case response_frame_info_id::server_duration:
|
137
137
|
return true;
|
138
138
|
}
|
@@ -152,10 +152,10 @@ enum class hello_feature : uint16_t {
|
|
152
152
|
subdoc_document_macro_support = 0x18,
|
153
153
|
};
|
154
154
|
|
155
|
-
constexpr
|
155
|
+
constexpr bool
|
156
156
|
is_valid_hello_feature(uint16_t code)
|
157
157
|
{
|
158
|
-
switch (
|
158
|
+
switch (hello_feature(code)) {
|
159
159
|
case hello_feature::tls:
|
160
160
|
case hello_feature::tcp_nodelay:
|
161
161
|
case hello_feature::mutation_seqno:
|
@@ -36,10 +36,10 @@ enum class magic : uint8_t {
|
|
36
36
|
server_response = 0x83
|
37
37
|
};
|
38
38
|
|
39
|
-
constexpr
|
39
|
+
constexpr bool
|
40
40
|
is_valid_magic(uint8_t code)
|
41
41
|
{
|
42
|
-
switch (
|
42
|
+
switch (magic(code)) {
|
43
43
|
case magic::client_request:
|
44
44
|
case magic::alt_client_request:
|
45
45
|
case magic::client_response:
|
@@ -24,10 +24,10 @@ enum class server_opcode : uint8_t {
|
|
24
24
|
invalid = 0xff,
|
25
25
|
};
|
26
26
|
|
27
|
-
constexpr
|
27
|
+
constexpr bool
|
28
28
|
is_valid_server_request_opcode(uint8_t code)
|
29
29
|
{
|
30
|
-
switch (
|
30
|
+
switch (server_opcode(code)) {
|
31
31
|
case server_opcode::cluster_map_change_notification:
|
32
32
|
return true;
|
33
33
|
case server_opcode::invalid:
|