The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
File::WriteGuard Class Reference

#include <File.h>

+ Collaboration diagram for File::WriteGuard:

Public Member Functions

uint64_t write (uint64_t location, uint64_t size, uintptr_t buffer, bool bCanBlock=true, bool publishMetadata=true)
 
uint64_t append (uint64_t size, uintptr_t buffer, uint64_t &location, bool bCanBlock=true, bool publishMetadata=true)
 

Private Member Functions

 WriteGuard (File &file)
 

Private Attributes

Filem_File
 
LockGuard< Mutexm_Guard
 
bool m_MetadataPending = false
 

Friends

class File
 

Detailed Description

Holds this file's write transaction lock across one or more fragments.

Definition at line 103 of file File.h.

Constructor & Destructor Documentation

◆ ~WriteGuard()

File::WriteGuard::~WriteGuard ( )

Definition at line 370 of file File.cc.

◆ WriteGuard()

File::WriteGuard::WriteGuard ( File file)
explicitprivate

Definition at line 368 of file File.cc.

Member Function Documentation

◆ append()

uint64_t File::WriteGuard::append ( uint64_t  size,
uintptr_t  buffer,
uint64_t &  location,
bool  bCanBlock = true,
bool  publishMetadata = true 
)

Definition at line 399 of file File.cc.

◆ write()

uint64_t File::WriteGuard::write ( uint64_t  location,
uint64_t  size,
uintptr_t  buffer,
bool  bCanBlock = true,
bool  publishMetadata = true 
)

Definition at line 385 of file File.cc.

Friends And Related Symbol Documentation

◆ File

friend class File
friend

Definition at line 113 of file File.h.

Member Data Documentation

◆ m_File

File& File::WriteGuard::m_File
private

Definition at line 117 of file File.h.

◆ m_Guard

LockGuard<Mutex> File::WriteGuard::m_Guard
private

Definition at line 118 of file File.h.

◆ m_MetadataPending

bool File::WriteGuard::m_MetadataPending = false
private

Definition at line 119 of file File.h.


The documentation for this class was generated from the following files: