Skip to content

Commit 499907b

Browse files
trondndaverigby
authored andcommitted
Fix to_string(cb::durability::Requirements)
It is used to print invalid values in setPendingSyncWrite, but it does not handle the case where the level represents an invalid value. Change-Id: I355931564105b82fc257ee27dc72f2bde6c12d57 Reviewed-on: http://review.couchbase.org/111955 Tested-by: Build Bot <[email protected]> Reviewed-by: Dave Rigby <[email protected]>
1 parent 9378b9e commit 499907b

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

include/memcached/durability_spec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ bool operator==(const Requirements& lhs, const Requirements& rhs);
195195
static constexpr Requirements NoRequirements = {Level::None, Timeout{}};
196196

197197
std::string to_string(Requirements r);
198+
std::string to_string(Level l);
198199

199200
} // namespace durability
200201
} // namespace cb

utilities/durability_spec.cc

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,23 @@ bool operator==(const Requirements& lhs, const Requirements& rhs) {
4848
}
4949

5050
std::string to_string(Requirements r) {
51-
std::string desc = "{";
52-
switch (r.getLevel()) {
51+
std::string desc = "{" + to_string(r.getLevel()) + ", ";
52+
desc += "timeout=" + to_string(r.getTimeout()) + "}";
53+
return desc;
54+
}
55+
56+
std::string to_string(Level l) {
57+
switch (l) {
5358
case Level::None:
54-
desc += "None, ";
55-
break;
59+
return "None";
5660
case Level::Majority:
57-
desc += "Majority, ";
58-
break;
61+
return "Majority";
5962
case Level::MajorityAndPersistOnMaster:
60-
desc += "MajorityAndPersistOnMaster, ";
61-
break;
63+
return "MajorityAndPersistOnMaster";
6264
case Level::PersistToMajority:
63-
desc += "PersistToMajority, ";
64-
break;
65+
return "PersistToMajority";
6566
}
66-
desc += "timeout=" + to_string(r.getTimeout()) + "}";
67-
return desc;
67+
return "<invalid:" + std::to_string(int(l)) + ">";
6868
}
6969

7070
Requirements::Requirements(cb::const_byte_buffer buffer) {

0 commit comments

Comments
 (0)