Introduce a mode enum to block_io<>

This commit is contained in:
Joe Thornber
2013-01-11 20:16:40 +00:00
parent 2b86309961
commit 779f8e1fd4
3 changed files with 33 additions and 8 deletions

View File

@@ -82,8 +82,12 @@ namespace persistent_data {
class block_io : private boost::noncopyable {
public:
typedef boost::shared_ptr<block_io> ptr;
enum mode {
READ_ONLY,
READ_WRITE,
};
block_io(std::string const &path, block_address nr_blocks, bool writeable = false);
block_io(std::string const &path, block_address nr_blocks, mode m);
~block_io();
block_address get_nr_blocks() const {
@@ -96,6 +100,7 @@ namespace persistent_data {
private:
int fd_;
block_address nr_blocks_;
mode mode_;
bool writeable_;
};
@@ -107,7 +112,7 @@ namespace persistent_data {
block_manager(std::string const &path,
block_address nr_blocks,
unsigned max_concurrent_locks,
bool writeable = false);
typename block_io<BlockSize>::mode m);
class validator {
public: