Flex  0.17.9
local_wal_writer.h
Go to the documentation of this file.
1 
16 #ifndef ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_WRITER_H_
17 #define ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_WRITER_H_
18 
19 #include <memory>
20 #include <unordered_map>
22 
23 namespace gs {
24 
25 class LocalWalWriter : public IWalWriter {
26  public:
27  static std::unique_ptr<IWalWriter> Make();
28 
29  static constexpr size_t TRUNC_SIZE = 1ul << 30;
30  LocalWalWriter() = default;
32 
33  void open(const std::string& wal_uri, int thread_id) override;
34  void close() override;
35  bool append(const char* data, size_t length) override;
36  std::string type() const override { return "file"; }
37 
38  private:
39  int fd_;
40  size_t file_size_;
41  size_t file_used_;
42 
43  static const bool registered_;
44 };
45 
46 } // namespace gs
47 
48 #endif // ENGINES_GRAPH_DB_DATABASE_WAL_LOCAL_WAL_WRITER_H_
Definition: wal.h:57
Definition: local_wal_writer.h:25
static const bool registered_
Definition: local_wal_writer.h:43
void open(const std::string &wal_uri, int thread_id) override
Definition: local_wal_writer.cc:28
~LocalWalWriter()
Definition: local_wal_writer.h:31
size_t file_size_
Definition: local_wal_writer.h:40
void close() override
Definition: local_wal_writer.cc:53
bool append(const char *data, size_t length) override
Definition: local_wal_writer.cc:66
static constexpr size_t TRUNC_SIZE
Definition: local_wal_writer.h:29
size_t file_used_
Definition: local_wal_writer.h:41
std::string type() const override
Definition: local_wal_writer.h:36
static std::unique_ptr< IWalWriter > Make()
Definition: local_wal_writer.cc:24
LocalWalWriter()=default
int fd_
Definition: local_wal_writer.h:39
Definition: adj_list.h:23