| Index: net/disk_cache/flash/log_structured_store.h
|
| diff --git a/net/disk_cache/flash/log_structured_store.h b/net/disk_cache/flash/log_structured_store.h
|
| deleted file mode 100644
|
| index ea65d34325daa66f44eeb34509bc21f4cc396f6e..0000000000000000000000000000000000000000
|
| --- a/net/disk_cache/flash/log_structured_store.h
|
| +++ /dev/null
|
| @@ -1,102 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef NET_DISK_CACHE_FLASH_LOG_STRUCTURED_STORE_H_
|
| -#define NET_DISK_CACHE_FLASH_LOG_STRUCTURED_STORE_H_
|
| -
|
| -#include <set>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/gtest_prod_util.h"
|
| -#include "net/base/net_export.h"
|
| -
|
| -namespace disk_cache {
|
| -
|
| -class Segment;
|
| -class Storage;
|
| -
|
| -// This class implements a general purpose store for storing and retrieving
|
| -// entries consisting of arbitrary binary data. The store has log semantics,
|
| -// i.e. it's not possible to overwrite data in place. In order to update an
|
| -// entry, a new version must be written. Only one entry can be written to at
|
| -// any given time, while concurrent reading of multiple entries is supported.
|
| -class NET_EXPORT_PRIVATE LogStructuredStore {
|
| - public:
|
| - explicit LogStructuredStore(Storage* storage);
|
| - ~LogStructuredStore();
|
| -
|
| - // Performs initialization. Must be the first function called and further
|
| - // calls should be made only if it is successful.
|
| - bool Init();
|
| -
|
| - // Closes the store. Should be the last function called before destruction.
|
| - bool Close();
|
| -
|
| - // Creates an entry of |size| bytes. The id of the created entry is stored in
|
| - // |entry_id|.
|
| - bool CreateEntry(int32 size, int32* entry_id);
|
| -
|
| - // TODO(agayev): Add DeleteEntry.
|
| -
|
| - // Appends data to the end of the last created entry.
|
| - bool WriteData(const void* buffer, int32 size);
|
| -
|
| - // Opens an entry with id |entry_id|.
|
| - bool OpenEntry(int32 entry_id);
|
| -
|
| - // Reads |size| bytes starting from |offset| into |buffer|, where |offset| is
|
| - // relative to the entry's content, from an entry identified by |entry_id|.
|
| - bool ReadData(int32 entry_id, void* buffer, int32 size, int32 offset) const;
|
| -
|
| - // Closes an entry that was either opened with OpenEntry or created with
|
| - // CreateEntry.
|
| - void CloseEntry(int32 id);
|
| -
|
| - private:
|
| - FRIEND_TEST_ALL_PREFIXES(FlashCacheTest,
|
| - LogStructuredStoreReadFromClosedSegment);
|
| - FRIEND_TEST_ALL_PREFIXES(FlashCacheTest,
|
| - LogStructuredStoreSegmentSelectionIsFifo);
|
| - FRIEND_TEST_ALL_PREFIXES(FlashCacheTest,
|
| - LogStructuredStoreInUseSegmentIsSkipped);
|
| - FRIEND_TEST_ALL_PREFIXES(FlashCacheTest,
|
| - LogStructuredStoreReadFromCurrentAfterClose);
|
| -
|
| - int32 GetNextSegmentIndex();
|
| - bool InUse(int32 segment_index) const;
|
| -
|
| - Storage* storage_;
|
| -
|
| - int32 num_segments_;
|
| -
|
| - // Currently open segments, either for reading or writing. There can only be
|
| - // one segment open for writing, and multiple open for reading.
|
| - std::vector<Segment*> open_segments_;
|
| -
|
| - // The index of the segment currently being written to. It's an index to
|
| - // |open_segments_| vector.
|
| - int32 write_index_;
|
| -
|
| - // Ids of entries currently open, either CreatEntry'ed or OpenEntry'ed.
|
| - std::set<int32> open_entries_;
|
| -
|
| - // Id of the entry that is currently being written to, -1 if there is no entry
|
| - // currently being written to.
|
| - int32 current_entry_id_;
|
| -
|
| - // Number of bytes left to be written to the entry identified by
|
| - // |current_entry_id_|. Its value makes sense iff |current_entry_id_| is not
|
| - // -1.
|
| - int32 current_entry_num_bytes_left_to_write_;
|
| -
|
| - bool init_; // Init was called.
|
| - bool closed_; // Close was called.
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(LogStructuredStore);
|
| -};
|
| -
|
| -} // namespace disk_cache
|
| -
|
| -#endif // NET_DISK_CACHE_FLASH_LOG_STRUCTURED_STORE_H_
|
|
|