Logo
local_io.hh
Go to the documentation of this file.
1 #pragma once
2 #include <string>
3 #include <cstdint>
4 #include <vector>
5 #include <map>
6 #include <thread>
7 #include <fstream>
8 #include "../messages/blockinfo.hh"
9 #include <memory>
10 
11 namespace eclipse {
12 
17 class Local_io {
18  public:
19  void write(const std::string&, const std::string&);
20  //void update(const std::string&, const std::string&, uint32_t, uint32_t);
21  void update(const std::string&, const std::string&, uint64_t, uint64_t);
22  std::string read(const std::string&);
23  //std::string read(const std::string&, uint32_t, uint32_t);
24  std::string read(const std::string&, uint64_t, uint64_t);
25  //std::string read(const std::string&, uint32_t, uint32_t, bool);
26  void append(const std::string&, const std::string&, uint64_t);
27  std::string read(const std::string&, uint64_t, uint64_t, bool);
28  std::string batch_read(const std::string&, uint32_t, std::vector< std::pair<uint64_t, uint64_t> >& );
29  std::string read_metadata();
30  void remove(const std::string&);
31  bool format();
32  Local_io();
33 
34  private:
35  std::string disk_path;
36 };
37 
38 }
Represents the local disk.
Definition: local_io.hh:17
std::string read(const std::string &, uint64_t, uint64_t)
bool format()
Definition: local_io.cc:148
std::string batch_read(const std::string &, uint32_t, std::vector< std::pair< uint64_t, uint64_t > > &)
Definition: local_io.cc:124
std::string read_metadata()
Definition: local_io.cc:138
Local_io()
Definition: local_io.cc:19
void remove(const std::string &)
Definition: local_io.cc:177
std::string read(const std::string &)
void append(const std::string &, const std::string &, uint64_t)
Definition: local_io.cc:82
void update(const std::string &, const std::string &, uint64_t, uint64_t)
Definition: local_io.cc:66
std::string read(const std::string &, uint64_t, uint64_t, bool)
void write(const std::string &, const std::string &)
Unbuffered write to disk.
Definition: local_io.cc:25
Definition: block_node.cc:12