17 #ifndef JUBATUS_CORE_STORAGE_STORAGE_BASE_HPP_
18 #define JUBATUS_CORE_STORAGE_STORAGE_BASE_HPP_
25 #include "jubatus/util/concurrent/mutex.h"
26 #include "jubatus/util/lang/shared_ptr.h"
29 #include "../common/version.hpp"
30 #include "../common/exception.hpp"
31 #include "../common/type.hpp"
32 #include "../framework/model.hpp"
43 virtual void get(
const std::string& feature,
feature_val1_t& ret)
const = 0;
44 virtual void get_nolock(
const std::string& feature,
47 virtual void get2_nolock(
const std::string& feature,
50 virtual void get3_nolock(
const std::string& feature,
57 const std::string& feature,
58 const std::string& klass,
61 const std::string& feature,
62 const std::string& klass,
65 const std::string& feature,
66 const std::string& klass,
69 const std::string& feature,
70 const std::string& klass,
73 const std::string& feature,
74 const std::string& klass,
77 const std::string& feature,
78 const std::string& klass,
81 virtual void get_status(std::map<std::string, std::string>&)
const = 0;
84 virtual void unpack(msgpack::object o) = 0;
89 const std::string& feature,
90 const std::string& inc_class,
91 const std::string& dec_class,
97 const std::string& inc_class,
98 const std::string& dec_class);
100 virtual util::concurrent::mutex&
get_lock()
const = 0;
107 virtual void clear() = 0;
109 virtual std::vector<std::string>
get_labels()
const = 0;
110 virtual bool set_label(
const std::string& label) = 0;
111 virtual bool delete_label(
const std::string& label) = 0;
114 virtual std::string
type()
const = 0;
119 typedef jubatus::util::lang::shared_ptr<jubatus::core::storage::storage_base>
125 #endif // JUBATUS_CORE_STORAGE_STORAGE_BASE_HPP_
jubatus::util::lang::shared_ptr< jubatus::core::storage::storage_base > storage_ptr
virtual void set_nolock(const std::string &feature, const std::string &klass, const val1_t &w)=0
virtual void get_status(std::map< std::string, std::string > &) const =0
virtual void pack(framework::packer &packer) const =0
virtual void inp(const common::sfv_t &sfv, map_feature_val1_t &ret) const =0
virtual util::concurrent::mutex & get_lock() const =0
virtual bool set_average_and_clear_diff(const diff_t &)
virtual void register_label(const std::string &label)=0
jubatus::util::data::unordered_map< std::string, val1_t > map_feature_val1_t
virtual void set3(const std::string &feature, const std::string &klass, const val3_t &w)=0
virtual void unpack(msgpack::object o)=0
virtual void update(const std::string &feature, const std::string &inc_class, const std::string &dec_class, const val1_t &w)
virtual void get_diff(diff_t &) const
virtual void get2_nolock(const std::string &feature, feature_val2_t &ret) const =0
virtual bool delete_label_nolock(const std::string &label)=0
virtual void bulk_update(const common::sfv_t &sfv, float step_width, const std::string &inc_class, const std::string &dec_class)
virtual void get_nolock(const std::string &feature, feature_val1_t &ret) const =0
std::vector< std::pair< std::string, val1_t > > feature_val1_t
virtual bool delete_label(const std::string &label)=0
virtual version get_version() const =0
virtual void get3(const std::string &feature, feature_val3_t &ret) const =0
virtual std::vector< std::string > get_labels() const =0
virtual void get2(const std::string &feature, feature_val2_t &ret) const =0
virtual void set2_nolock(const std::string &feature, const std::string &klass, const val2_t &w)=0
msgpack::packer< jubatus_packer > packer
virtual void get3_nolock(const std::string &feature, feature_val3_t &ret) const =0
std::vector< std::pair< std::string, val3_t > > feature_val3_t
virtual std::string type() const =0
std::vector< std::pair< std::string, float > > sfv_t
virtual void set(const std::string &feature, const std::string &klass, const val1_t &w)=0
virtual bool set_label(const std::string &label)=0
std::vector< std::pair< std::string, val2_t > > feature_val2_t
virtual void set3_nolock(const std::string &feature, const std::string &klass, const val3_t &w)=0
virtual void set2(const std::string &feature, const std::string &klass, const val2_t &w)=0