The Pedigree Project 0.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
FileDescriptor::TransferPositionGuard Class Reference
+ Collaboration diagram for FileDescriptor::TransferPositionGuard:

Public Types

enum class  Endpoint { Input , Output }
 

Public Member Functions

 TransferPositionGuard (const OpenFileDescriptionLease &input, const OpenFileDescriptionLease &output, bool lockInput, bool lockOutput)
 
 TransferPositionGuard (const TransferPositionGuard &)=delete
 
TransferPositionGuardoperator= (const TransferPositionGuard &)=delete
 
int statusFlags (Endpoint endpoint) const
 
uint64_t offset (Endpoint endpoint) const
 
void commitOffset (Endpoint endpoint, uint64_t finalOffset)
 
bool sameDescription () const
 

Private Member Functions

OpenFileDescriptionlockedDescription (Endpoint endpoint) const
 

Private Attributes

TerminationDeferral m_TerminationDeferral
 
OpenFileDescriptionLease m_Input
 
OpenFileDescriptionLease m_Output
 
OpenFileDescriptionm_First
 
OpenFileDescriptionm_Second
 
int m_InputFlags
 
int m_OutputFlags
 

Detailed Description

Definition at line 162 of file FileDescriptor.h.

Member Enumeration Documentation

◆ Endpoint

enum class FileDescriptor::TransferPositionGuard::Endpoint
strong

Definition at line 164 of file FileDescriptor.h.

Constructor & Destructor Documentation

◆ TransferPositionGuard()

FileDescriptor::TransferPositionGuard::TransferPositionGuard ( const OpenFileDescriptionLease input,
const OpenFileDescriptionLease output,
bool  lockInput,
bool  lockOutput 
)

Definition at line 26 of file FileDescriptor-transfer.cc.

◆ ~TransferPositionGuard()

FileDescriptor::TransferPositionGuard::~TransferPositionGuard ( )

Definition at line 82 of file FileDescriptor-transfer.cc.

Member Function Documentation

◆ commitOffset()

void FileDescriptor::TransferPositionGuard::commitOffset ( Endpoint  endpoint,
uint64_t  finalOffset 
)

Definition at line 109 of file FileDescriptor-transfer.cc.

◆ lockedDescription()

FileDescriptor::OpenFileDescription & FileDescriptor::TransferPositionGuard::lockedDescription ( Endpoint  endpoint) const
private

Definition at line 97 of file FileDescriptor-transfer.cc.

◆ offset()

uint64_t FileDescriptor::TransferPositionGuard::offset ( Endpoint  endpoint) const

Definition at line 105 of file FileDescriptor-transfer.cc.

◆ sameDescription()

bool FileDescriptor::TransferPositionGuard::sameDescription ( ) const

Definition at line 113 of file FileDescriptor-transfer.cc.

◆ statusFlags()

int FileDescriptor::TransferPositionGuard::statusFlags ( Endpoint  endpoint) const

Definition at line 92 of file FileDescriptor-transfer.cc.

Member Data Documentation

◆ m_First

OpenFileDescription* FileDescriptor::TransferPositionGuard::m_First
private

Definition at line 184 of file FileDescriptor.h.

◆ m_Input

OpenFileDescriptionLease FileDescriptor::TransferPositionGuard::m_Input
private

Definition at line 182 of file FileDescriptor.h.

◆ m_InputFlags

int FileDescriptor::TransferPositionGuard::m_InputFlags
private

Definition at line 186 of file FileDescriptor.h.

◆ m_Output

OpenFileDescriptionLease FileDescriptor::TransferPositionGuard::m_Output
private

Definition at line 183 of file FileDescriptor.h.

◆ m_OutputFlags

int FileDescriptor::TransferPositionGuard::m_OutputFlags
private

Definition at line 187 of file FileDescriptor.h.

◆ m_Second

OpenFileDescription* FileDescriptor::TransferPositionGuard::m_Second
private

Definition at line 185 of file FileDescriptor.h.

◆ m_TerminationDeferral

TerminationDeferral FileDescriptor::TransferPositionGuard::m_TerminationDeferral
private

Definition at line 180 of file FileDescriptor.h.


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