mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 16:30:56 +00:00
c1a65a4de4
Summary: Change the StringEnv and related classes to be based on FileSystem APIs rather than the corresponding Env ones. The StringSink and StringSource classes were changed to be based on the corresponding FS file classes. Part of a cleanup to use the newer interfaces. This change also eliminates some of the casts/wrappers to LegacyFile classes. Pull Request resolved: https://github.com/facebook/rocksdb/pull/7786 Reviewed By: jay-zhuang Differential Revision: D25761460 Pulled By: anand1976 fbshipit-source-id: 428ae8e32b3db97dbeeca08c9d3bb0d9d4d3a38f
30 lines
1.3 KiB
C++
30 lines
1.3 KiB
C++
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under both the GPLv2 (found in the
|
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
// (found in the LICENSE.Apache file in the root directory).
|
|
//
|
|
// 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.
|
|
|
|
#pragma once
|
|
#include <memory>
|
|
|
|
#include "rocksdb/rocksdb_namespace.h"
|
|
|
|
namespace ROCKSDB_NAMESPACE {
|
|
class FSRandomAccessFile;
|
|
// This file provides the following main abstractions:
|
|
// SequentialFileReader : wrapper over Env::SequentialFile
|
|
// RandomAccessFileReader : wrapper over Env::RandomAccessFile
|
|
// WritableFileWriter : wrapper over Env::WritableFile
|
|
// In addition, it also exposed NewReadaheadRandomAccessFile, NewWritableFile,
|
|
// and ReadOneLine primitives.
|
|
|
|
// NewReadaheadRandomAccessFile provides a wrapper over RandomAccessFile to
|
|
// always prefetch additional data with every read. This is mainly used in
|
|
// Compaction Table Readers.
|
|
std::unique_ptr<FSRandomAccessFile> NewReadaheadRandomAccessFile(
|
|
std::unique_ptr<FSRandomAccessFile>&& file, size_t readahead_size);
|
|
} // namespace ROCKSDB_NAMESPACE
|