Flex  0.17.9
local_wal_parser.h
Go to the documentation of this file.
1 
16 #ifndef ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_PARSER_H_
17 #define ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_PARSER_H_
18 
19 #include <vector>
21 
22 namespace gs {
23 
24 class LocalWalParser : public IWalParser {
25  public:
26  static std::unique_ptr<IWalParser> Make(const std::string& wal_dir) {
27  return std::unique_ptr<IWalParser>(new LocalWalParser(wal_dir));
28  }
29 
30  LocalWalParser(const std::string& wal_uri);
32 
33  void open(const std::string& wal_uri) override;
34  void close() override;
35 
36  uint32_t last_ts() const override;
37  const WalContentUnit& get_insert_wal(uint32_t ts) const override;
38  const std::vector<UpdateWalUnit>& get_update_wals() const override;
39 
40  private:
41  std::vector<int> fds_;
42  std::vector<void*> mmapped_ptrs_;
43  std::vector<size_t> mmapped_size_;
44  std::vector<WalContentUnit> insert_wal_list_;
45  uint32_t last_ts_{0};
46 
47  std::vector<UpdateWalUnit> update_wal_list_;
48 
49  static const bool registered_;
50 };
51 
52 } // namespace gs
53 
54 #endif // ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_PARSER_H_
gs::LocalWalParser::~LocalWalParser
~LocalWalParser()
Definition: local_wal_parser.h:31
gs::LocalWalParser::mmapped_ptrs_
std::vector< void * > mmapped_ptrs_
Definition: local_wal_parser.h:42
gs::LocalWalParser::registered_
static const bool registered_
Definition: local_wal_parser.h:49
gs::LocalWalParser::get_update_wals
const std::vector< UpdateWalUnit > & get_update_wals() const override
Definition: local_wal_parser.cc:110
gs::LocalWalParser::update_wal_list_
std::vector< UpdateWalUnit > update_wal_list_
Definition: local_wal_parser.h:47
gs
Definition: adj_list.h:23
gs::LocalWalParser
Definition: local_wal_parser.h:24
gs::LocalWalParser::last_ts_
uint32_t last_ts_
Definition: local_wal_parser.h:45
gs::LocalWalParser::Make
static std::unique_ptr< IWalParser > Make(const std::string &wal_dir)
Definition: local_wal_parser.h:26
gs::LocalWalParser::close
void close() override
Definition: local_wal_parser.cc:93
gs::IWalParser
Definition: wal.h:83
wal.h
gs::LocalWalParser::fds_
std::vector< int > fds_
Definition: local_wal_parser.h:41
gs::LocalWalParser::get_insert_wal
const WalContentUnit & get_insert_wal(uint32_t ts) const override
Definition: local_wal_parser.cc:106
gs::LocalWalParser::mmapped_size_
std::vector< size_t > mmapped_size_
Definition: local_wal_parser.h:43
gs::wal_dir
std::string wal_dir(const std::string &work_dir)
Definition: file_names.h:196
gs::WalContentUnit
Definition: wal.h:40
gs::LocalWalParser::open
void open(const std::string &wal_uri) override
Definition: local_wal_parser.cc:29
gs::LocalWalParser::LocalWalParser
LocalWalParser(const std::string &wal_uri)
Definition: local_wal_parser.cc:25
gs::LocalWalParser::insert_wal_list_
std::vector< WalContentUnit > insert_wal_list_
Definition: local_wal_parser.h:44
gs::LocalWalParser::last_ts
uint32_t last_ts() const override
Definition: local_wal_parser.cc:104