Skip to content

Commit ca86e99

Browse files
committed
MB-29287: Add string / streaming methods for DCP responses
Allow printing of DCP response codes in log messages / test code. Change-Id: I7d48625fbf3efcad1cfb916686f585eec42e2b46 Reviewed-on: http://review.couchbase.org/92983 Well-Formed: Build Bot <[email protected]> Tested-by: Build Bot <[email protected]> Reviewed-by: Tim Bradgate <[email protected]> Reviewed-by: Trond Norbye <[email protected]>
1 parent 00fc5a2 commit ca86e99

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

src/dcp/response.cc

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,34 @@ const uint32_t SetVBucketState::baseMsgBytes = 25;
3535
const uint32_t SnapshotMarker::baseMsgBytes = 44;
3636
const uint32_t MutationResponse::mutationBaseMsgBytes = 55;
3737
const uint32_t MutationResponse::deletionBaseMsgBytes = 42;
38+
39+
40+
std::string to_string(dcp_event_t event) {
41+
switch (event) {
42+
case DCP_MUTATION:
43+
return "DCP_MUTATION";
44+
case DCP_DELETION:
45+
return "DCP_DELETION";
46+
case DCP_EXPIRATION:
47+
return "DCP_EXPIRATION";
48+
case DCP_FLUSH:
49+
return "DCP_FLUSH";
50+
case DCP_SET_VBUCKET:
51+
return "DCP_SET_VBUCKET";
52+
case DCP_STREAM_REQ:
53+
return "DCP_STREAM_REQ";
54+
case DCP_STREAM_END:
55+
return "DCP_STREAM_END";
56+
case DCP_SNAPSHOT_MARKER:
57+
return "DCP_SNAPSHOT_MARKER";
58+
case DCP_ADD_STREAM:
59+
return "DCP_ADD_STREAM";
60+
}
61+
return "<invalid_dcp_event_t>(" + std::to_string(int(event)) + ")";
62+
}
63+
64+
std::ostream& operator<<(std::ostream& os, const DcpResponse& r) {
65+
os << "DcpResponse[" << &r << "] with"
66+
<< " event:" << to_string(r.getEvent());
67+
return os;
68+
}

src/dcp/response.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ enum dcp_event_t {
3535
DCP_ADD_STREAM
3636
};
3737

38+
std::string to_string(dcp_event_t event);
3839

3940
enum dcp_marker_flag_t {
4041
MARKER_FLAG_MEMORY = 0x01,
@@ -59,7 +60,7 @@ class DcpResponse {
5960
return opaque_;
6061
}
6162

62-
dcp_event_t getEvent() {
63+
dcp_event_t getEvent() const {
6364
return event_;
6465
}
6566

@@ -95,6 +96,8 @@ class DcpResponse {
9596
dcp_event_t event_;
9697
};
9798

99+
std::ostream& operator<<(std::ostream& os, const DcpResponse& r);
100+
98101
class StreamRequest : public DcpResponse {
99102
public:
100103
StreamRequest(uint16_t vbucket, uint32_t opaque, uint32_t flags,

0 commit comments

Comments
 (0)