From 60383a502cc98e926827e9cb49c0a9cdf37adff5 Mon Sep 17 00:00:00 2001 From: arches Date: Tue, 26 Jul 2016 10:04:26 -0400 Subject: [PATCH] Make mvccpb::KeyValue a member of etcdv3::keyValue instead of inheriting from it. --- etcd/Client.hpp | 2 +- src/Response.cpp | 2 +- src/Value.cpp | 14 +++++++------- v3/include/KeyValue.hpp | 4 ++-- v3/src/AsyncDeleteRangeResponse.cpp | 6 ++++-- v3/src/AsyncGetAction.cpp | 4 +--- v3/src/AsyncLeaseGrantResponse.cpp | 2 +- v3/src/AsyncRangeResponse.cpp | 5 +++-- v3/src/AsyncTxnResponse.cpp | 4 ++-- v3/src/AsyncWatchResponse.cpp | 6 +++--- v3/src/KeyValue.cpp | 6 ------ 11 files changed, 25 insertions(+), 30 deletions(-) diff --git a/etcd/Client.hpp b/etcd/Client.hpp index 19cbd3f..55afe8c 100644 --- a/etcd/Client.hpp +++ b/etcd/Client.hpp @@ -4,8 +4,8 @@ #include "etcd/Response.hpp" #include "v3/include/Transaction.hpp" #include "v3/include/AsyncTxnResponse.hpp" +#include "v3/include/Action.hpp" -#include #include #include diff --git a/src/Response.cpp b/src/Response.cpp index ff71374..cc20599 100644 --- a/src/Response.cpp +++ b/src/Response.cpp @@ -15,7 +15,7 @@ etcd::Response::Response(const etcdv3::V3Response& reply) for(unsigned int index = 0; index < val.size(); index++) { _values.push_back(Value(val[index])); - _keys.push_back(val[index].key()); + _keys.push_back(val[index].kvs.key()); } } else diff --git a/src/Value.cpp b/src/Value.cpp index 8e0820f..9d0ff59 100644 --- a/src/Value.cpp +++ b/src/Value.cpp @@ -12,15 +12,15 @@ etcd::Value::Value() } -etcd::Value::Value(etcdv3::KeyValue const & kvs) +etcd::Value::Value(etcdv3::KeyValue const & kv) { dir=false; - _key=kvs.key(); - value=kvs.value(); - created=kvs.create_revision(); - modified=kvs.mod_revision(); - leaseId = kvs.lease(); - _ttl = kvs.get_ttl(); + _key=kv.kvs.key(); + value=kv.kvs.value(); + created=kv.kvs.create_revision(); + modified=kv.kvs.mod_revision(); + leaseId = kv.kvs.lease(); + _ttl = kv.get_ttl(); } std::string const & etcd::Value::key() const diff --git a/v3/include/KeyValue.hpp b/v3/include/KeyValue.hpp index f2dfdaf..010df1e 100644 --- a/v3/include/KeyValue.hpp +++ b/v3/include/KeyValue.hpp @@ -6,11 +6,11 @@ namespace etcdv3 { - class KeyValue : public mvccpb::KeyValue + class KeyValue { public: KeyValue(); - KeyValue(const mvccpb::KeyValue& from); + mvccpb::KeyValue kvs; void set_ttl(int ttl); int get_ttl() const; private: diff --git a/v3/src/AsyncDeleteRangeResponse.cpp b/v3/src/AsyncDeleteRangeResponse.cpp index 266c117..ad4feef 100644 --- a/v3/src/AsyncDeleteRangeResponse.cpp +++ b/v3/src/AsyncDeleteRangeResponse.cpp @@ -17,14 +17,16 @@ void etcdv3::AsyncDeleteRangeResponse::ParseResponse(std::string const& key, boo //get all previous values for(int cnt=0; cnt < resp.prev_kvs_size(); cnt++) { - values.push_back(resp.prev_kvs(cnt)); + etcdv3::KeyValue kv; + kv.kvs.CopyFrom(resp.prev_kvs(cnt)); + values.push_back(kv); } if(!prefix) { prev_value = values[0]; value = values[0]; - value.clear_value(); + value.kvs.clear_value(); values.clear(); } diff --git a/v3/src/AsyncGetAction.cpp b/v3/src/AsyncGetAction.cpp index dcc8f59..c2aadd1 100644 --- a/v3/src/AsyncGetAction.cpp +++ b/v3/src/AsyncGetAction.cpp @@ -17,7 +17,7 @@ etcdv3::AsyncGetAction::AsyncGetAction(etcdv3::ActionParameters param) get_request.set_range_end(range_end); get_request.set_sort_target(RangeRequest::SortTarget::RangeRequest_SortTarget_KEY); get_request.set_sort_order(RangeRequest::SortOrder::RangeRequest_SortOrder_ASCEND); - } + } response_reader = parameters.kv_stub->AsyncRange(&context,get_request,&cq_); response_reader->Finish(&reply, &status, (void*)this); } @@ -33,8 +33,6 @@ etcdv3::AsyncRangeResponse etcdv3::AsyncGetAction::ParseResponse() else { range_resp.ParseResponse(reply, parameters.withPrefix); - //range_resp.set_action(etcdv3::GET_ACTION); - //range_resp.isPrefix = parameters.withPrefix; } return range_resp; } diff --git a/v3/src/AsyncLeaseGrantResponse.cpp b/v3/src/AsyncLeaseGrantResponse.cpp index f20e2da..f718ef2 100644 --- a/v3/src/AsyncLeaseGrantResponse.cpp +++ b/v3/src/AsyncLeaseGrantResponse.cpp @@ -5,7 +5,7 @@ void etcdv3::AsyncLeaseGrantResponse::ParseResponse(LeaseGrantResponse& resp) { index = resp.header().revision(); - value.set_lease(resp.id()); + value.kvs.set_lease(resp.id()); value.set_ttl(resp.ttl()); error_message = resp.error(); } diff --git a/v3/src/AsyncRangeResponse.cpp b/v3/src/AsyncRangeResponse.cpp index 4df54a6..3288fe2 100644 --- a/v3/src/AsyncRangeResponse.cpp +++ b/v3/src/AsyncRangeResponse.cpp @@ -16,8 +16,9 @@ void etcdv3::AsyncRangeResponse::ParseResponse(RangeResponse& resp, bool prefix) { for(int index=0; index < resp.kvs_size(); index++) { - etcdv3::KeyValue kvs(resp.kvs(index)); - values.push_back(kvs); + etcdv3::KeyValue kv; + kv.kvs.CopyFrom(resp.kvs(index)); + values.push_back(kv); } if(!prefix) diff --git a/v3/src/AsyncTxnResponse.cpp b/v3/src/AsyncTxnResponse.cpp index 6b6588b..51da367 100644 --- a/v3/src/AsyncTxnResponse.cpp +++ b/v3/src/AsyncTxnResponse.cpp @@ -27,7 +27,7 @@ void etcdv3::AsyncTxnResponse::ParseResponse(std::string const& key, bool prefix auto put_resp = resp.response_put(); if(put_resp.has_prev_kv()) { - prev_value.CopyFrom(put_resp.prev_kv()); + prev_value.kvs.CopyFrom(put_resp.prev_kv()); } } else if(ResponseOp::ResponseCase::kResponseDeleteRange == resp.response_case()) @@ -35,7 +35,7 @@ void etcdv3::AsyncTxnResponse::ParseResponse(std::string const& key, bool prefix AsyncDeleteRangeResponse response; response.ParseResponse(key,prefix,*(resp.mutable_response_delete_range())); - prev_value.CopyFrom(response.get_prev_value()); + prev_value.kvs.CopyFrom(response.get_prev_value().kvs); values = response.get_values(); value = response.get_value(); diff --git a/v3/src/AsyncWatchResponse.cpp b/v3/src/AsyncWatchResponse.cpp index f625bb3..533c6ae 100644 --- a/v3/src/AsyncWatchResponse.cpp +++ b/v3/src/AsyncWatchResponse.cpp @@ -17,17 +17,17 @@ void etcdv3::AsyncWatchResponse::ParseResponse(WatchResponse& reply) { action = etcdv3::SET_ACTION; } - value = event.kv(); + value.kvs = event.kv(); } else if(mvccpb::Event::EventType::Event_EventType_DELETE == event.type()) { action = etcdv3::DELETE_ACTION; - value = event.kv(); + value.kvs = event.kv(); } if(event.has_prev_kv()) { - prev_value = event.prev_kv(); + prev_value.kvs = event.prev_kv(); } // just store the first occurence of the key in values. // this is done so tas client will not need to change their behaviour. diff --git a/v3/src/KeyValue.cpp b/v3/src/KeyValue.cpp index 78d135a..3342536 100644 --- a/v3/src/KeyValue.cpp +++ b/v3/src/KeyValue.cpp @@ -5,12 +5,6 @@ etcdv3::KeyValue::KeyValue() ttl = 0; } -etcdv3::KeyValue::KeyValue(const mvccpb::KeyValue& from) - : mvccpb::KeyValue(from) -{ - ttl =0; -} - void etcdv3::KeyValue::set_ttl(int ttl) { this->ttl = ttl;