mutable_cf_options.write_buffer_size);
unique_ptr<WritableFileWriter> file_writer(
new WritableFileWriter(std::move(lfile), opt_env_opt));
- new_log = new log::Writer(std::move(file_writer), new_log_number,
- db_options_.recycle_log_file_num > 0);
+ new_log = new log::Writer(std::move(file_writer),
+ new_log_number,
+ db_options_.recycle_log_file_num > 0,
+ &db_options);
}
}
namespace log {
Writer::Writer(unique_ptr<WritableFileWriter>&& dest,
- uint64_t log_number, bool recycle_log_files)
- : dest_(std::move(dest)),
+ uint64_t log_number, bool recycle_log_files,
+ const DBOptions *opt)
+ : db_options_(opt),
+ dest_(std::move(dest)),
block_offset_(0),
log_number_(log_number),
recycle_log_files_(recycle_log_files) {
namespace rocksdb {
class WritableFileWriter;
+class DBOptions;
using std::unique_ptr;
// "*dest" must be initially empty.
// "*dest" must remain live while this Writer is in use.
explicit Writer(unique_ptr<WritableFileWriter>&& dest,
- uint64_t log_number, bool recycle_log_files);
+ uint64_t log_number, bool recycle_log_files,
+ const DBOptions *opt = NULL);
~Writer();
Status AddRecord(const Slice& slice);
const WritableFileWriter* file() const { return dest_.get(); }
private:
+ const DBOptions *db_options_;
unique_ptr<WritableFileWriter> dest_;
int block_offset_; // Current offset in block
uint64_t log_number_;