Summary: This diff simplifies EnvOptions by treating it as POD, similar to Options. - virtual functions are removed and member fields are accessed directly. - StorageOptions is removed. - Options.allow_readahead and Options.allow_readahead_compactions are deprecated. - Unused global variables are removed: useOsBuffer, useFsReadAhead, useMmapRead, useMmapWrite Test Plan: make check; db_stress Reviewers: dhruba CC: leveldb Differential Revision: https://reviews.facebook.net/D11175main
parent
5679107b07
commit
bdf1085944
@ -1,72 +0,0 @@ |
|||||||
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style license that can be
|
|
||||||
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
||||||
//
|
|
||||||
#ifndef STORAGE_LEVELDB_UTIL_STORAGE_OPTIONS_H_ |
|
||||||
#define STORAGE_LEVELDB_UTIL_STORAGE_OPTIONS_H_ |
|
||||||
|
|
||||||
#include <string> |
|
||||||
#include <stdint.h> |
|
||||||
#include "leveldb/env.h" |
|
||||||
#include "leveldb/options.h" |
|
||||||
|
|
||||||
namespace leveldb { |
|
||||||
|
|
||||||
// Environment Options that are used to read files from storage
|
|
||||||
class StorageOptions : public EnvOptions { |
|
||||||
public: |
|
||||||
/* implicit */ StorageOptions(const Options& opt) : |
|
||||||
data_in_os_(opt.allow_os_buffer), |
|
||||||
fs_readahead_(opt.allow_readahead), |
|
||||||
readahead_compactions_(opt.allow_readahead_compactions), |
|
||||||
use_mmap_reads_(opt.allow_mmap_reads), |
|
||||||
use_mmap_writes_(opt.allow_mmap_writes), |
|
||||||
set_fd_cloexec_(opt.is_fd_close_on_exec) { |
|
||||||
} |
|
||||||
|
|
||||||
// copy constructor with readaheads set to readahead_compactions_
|
|
||||||
StorageOptions(const StorageOptions& opt) { |
|
||||||
data_in_os_ = opt.UseOsBuffer(); |
|
||||||
fs_readahead_ = opt.UseReadaheadCompactions(); |
|
||||||
readahead_compactions_ = opt.UseReadaheadCompactions(); |
|
||||||
use_mmap_reads_ = opt.UseMmapReads(); |
|
||||||
use_mmap_writes_ = opt.UseMmapWrites(); |
|
||||||
set_fd_cloexec_ = opt.IsFDCloseOnExec(); |
|
||||||
} |
|
||||||
|
|
||||||
// constructor with default options
|
|
||||||
StorageOptions() { |
|
||||||
Options opt; |
|
||||||
data_in_os_ = opt.allow_os_buffer; |
|
||||||
fs_readahead_ = opt.allow_readahead; |
|
||||||
readahead_compactions_ = fs_readahead_; |
|
||||||
use_mmap_reads_ = opt.allow_mmap_reads; |
|
||||||
use_mmap_writes_ = opt.allow_mmap_writes; |
|
||||||
set_fd_cloexec_ = opt.is_fd_close_on_exec; |
|
||||||
} |
|
||||||
|
|
||||||
virtual ~StorageOptions() {} |
|
||||||
|
|
||||||
bool UseOsBuffer() const { return data_in_os_; }; |
|
||||||
bool UseReadahead() const { return fs_readahead_; }; |
|
||||||
bool UseMmapReads() const { return use_mmap_reads_; } |
|
||||||
bool UseMmapWrites() const { return use_mmap_writes_; } |
|
||||||
bool UseReadaheadCompactions() const { return readahead_compactions_;} |
|
||||||
bool IsFDCloseOnExec() const { return set_fd_cloexec_;} |
|
||||||
|
|
||||||
void DisableMmapWrites() { |
|
||||||
use_mmap_writes_ = false; |
|
||||||
} |
|
||||||
|
|
||||||
private: |
|
||||||
bool data_in_os_; |
|
||||||
bool fs_readahead_; |
|
||||||
bool readahead_compactions_; |
|
||||||
bool use_mmap_reads_; |
|
||||||
bool use_mmap_writes_; |
|
||||||
bool set_fd_cloexec_; |
|
||||||
}; |
|
||||||
|
|
||||||
} // namespace leveldb
|
|
||||||
|
|
||||||
#endif // STORAGE_LEVELDB_UTIL_STORAGE_OPTIONS_H_
|
|
Loading…
Reference in new issue