Struct File_Namespace::FileInfo¶
-
struct
FileInfo
¶ Public Functions
-
FileInfo
(FileMgr *fileMgr, const int32_t fileId, FILE *f, const size_t pageSize, const size_t numPages, const bool init = false)¶ Constructor.
-
~FileInfo
()¶ Destructor.
-
void
initNewFile
()¶ Adds all pages to freePages and zeroes first four bytes of header.
-
void
freePageDeferred
(int32_t pageId)¶
-
void
freePage
(int32_t pageId, const bool isRolloff, int32_t epoch)¶
-
int32_t
getFreePage
()¶
-
size_t
write
(const size_t offset, const size_t size, const int8_t *buf)¶
-
size_t
read
(const size_t offset, const size_t size, int8_t *buf)¶
-
void
openExistingFile
(std::vector<HeaderInfo> &headerVec)¶
-
void
print
(bool pagesummary)¶ Prints a summary of the file to stdout.
-
size_t
size
() const¶ Returns the number of bytes used by the file.
-
int32_t
syncToDisk
()¶ Syncs file to disk via a buffer flush and then a sync (fflush and fsync on posix systems)
-
size_t
available
()¶ Returns the number of free bytes available.
-
size_t
numFreePages
()¶ Returns the number of free pages available.
-
size_t
used
()¶ Returns the amount of used bytes; size() - available()
-
void
freePageImmediate
(int32_t page_num)¶
-
void
recoverPage
(const ChunkKey &chunk_key, int32_t page_num)¶
Public Members
-
int32_t
fileId
¶
-
FILE *
f
¶ unique file identifier (i.e., used for a file name)
-
size_t
pageSize
¶ file stream object for the represented file
-
size_t
numPages
¶ the fixed size of each page in the file
-
bool
isDirty
= {false}¶ the number of pages in the file
-
std::set<size_t>
freePages
¶
-
std::mutex
freePagesMutex_
¶ set of page numbers of free pages
-
std::mutex
readWriteMutex_
¶
-