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_
Definition: wal.h:83
Definition: local_wal_parser.h:24
const std::vector< UpdateWalUnit > & get_update_wals() const override
Definition: local_wal_parser.cc:110
std::vector< void * > mmapped_ptrs_
Definition: local_wal_parser.h:42
std::vector< size_t > mmapped_size_
Definition: local_wal_parser.h:43
uint32_t last_ts() const override
Definition: local_wal_parser.cc:104
std::vector< WalContentUnit > insert_wal_list_
Definition: local_wal_parser.h:44
LocalWalParser(const std::string &wal_uri)
Definition: local_wal_parser.cc:25
~LocalWalParser()
Definition: local_wal_parser.h:31
static std::unique_ptr< IWalParser > Make(const std::string &wal_dir)
Definition: local_wal_parser.h:26
void open(const std::string &wal_uri) override
Definition: local_wal_parser.cc:29
uint32_t last_ts_
Definition: local_wal_parser.h:45
static const bool registered_
Definition: local_wal_parser.h:49
const WalContentUnit & get_insert_wal(uint32_t ts) const override
Definition: local_wal_parser.cc:106
std::vector< UpdateWalUnit > update_wal_list_
Definition: local_wal_parser.h:47
std::vector< int > fds_
Definition: local_wal_parser.h:41
void close() override
Definition: local_wal_parser.cc:93
Definition: adj_list.h:23
std::string wal_dir(const std::string &work_dir)
Definition: file_names.h:196
Definition: wal.h:40