prefetch_buffer_collection.cc 831 B

1234567891011121314151617181920212223
  1. // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
  2. // This source code is licensed under both the GPLv2 (found in the
  3. // COPYING file in the root directory) and Apache 2.0 License
  4. // (found in the LICENSE.Apache file in the root directory).
  5. #include "db/blob/prefetch_buffer_collection.h"
  6. namespace ROCKSDB_NAMESPACE {
  7. FilePrefetchBuffer* PrefetchBufferCollection::GetOrCreatePrefetchBuffer(
  8. uint64_t file_number) {
  9. auto& prefetch_buffer = prefetch_buffers_[file_number];
  10. if (!prefetch_buffer) {
  11. ReadaheadParams readahead_params;
  12. readahead_params.initial_readahead_size = readahead_size_;
  13. readahead_params.max_readahead_size = readahead_size_;
  14. prefetch_buffer.reset(new FilePrefetchBuffer(readahead_params));
  15. }
  16. return prefetch_buffer.get();
  17. }
  18. } // namespace ROCKSDB_NAMESPACE