etcd-cpp-apiv3/src/v3/AsyncRangeResponse.cpp

31 lines
592 B
C++

#include "etcd/v3/AsyncRangeResponse.hpp"
#include "etcd/v3/action_constants.hpp"
void etcdv3::AsyncRangeResponse::ParseResponse(RangeResponse& resp, bool prefix)
{
action = etcdv3::GET_ACTION;
index = resp.header().revision();
if(resp.kvs_size() == 0)
{
error_code=100;
error_message="Key not found";
return;
}
else
{
for(int index=0; index < resp.kvs_size(); index++)
{
etcdv3::KeyValue kv;
kv.kvs.CopyFrom(resp.kvs(index));
values.push_back(kv);
}
if(!prefix)
{
value = values[0];
values.clear();
}
}
}