21 #ifndef KINETIC_CPP_CLIENT_KINETIC_RECORD_H_
22 #define KINETIC_CPP_CLIENT_KINETIC_RECORD_H_
25 #include "kinetic/common.h"
26 #include "kinetic_client.pb.h"
30 using com::seagate::kinetic::client::proto::Command_Algorithm;
31 using std::shared_ptr;
33 using std::make_shared;
41 const shared_ptr<const string>
tag, Command_Algorithm
algorithm) :
42 value_(value), version_(version), tag_(tag), algorithm_(
45 KineticRecord(
const string value,
const string version,
const string tag,
46 Command_Algorithm algorithm) :
47 value_(make_shared<string>(value)), version_(make_shared<string>(version)),
48 tag_(make_shared<string>(tag)), algorithm_(algorithm) {
51 version_(other.version_), tag_(other.tag_), algorithm_(other.algorithm_) {
55 const shared_ptr<const string>
value()
const {
60 const shared_ptr<const string>
version()
const {
66 const shared_ptr<const string>
tag()
const {
76 const shared_ptr<const string> value_;
77 const shared_ptr<const string> version_;
78 const shared_ptr<const string> tag_;
79 const Command_Algorithm algorithm_;
86 #endif // KINETIC_CPP_CLIENT_KINETIC_RECORD_H_
const shared_ptr< const string > value() const
The value itself.
const shared_ptr< const string > tag() const
An arbitrary tag, usually a hash or checksum of the value.
const shared_ptr< const string > version() const
The value's version.
Command_Algorithm algorithm() const
The algorithm used to generate the tag.
Encapsulates a single value stored in a Kinetic drive and the associated metadata.