The Pedigree Project 0.1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SocketRights Class Reference

#include <UnixFilesystem.h>

+ Collaboration diagram for SocketRights:

Public Types

enum  : size_t { MaximumDescriptors = 253 , MaximumInFlight = 16384 }
 

Public Member Functions

void append (FileDescriptor *descriptor)
 
size_t count () const
 
FileDescriptordescriptor (size_t index) const
 

Static Public Member Functions

static bool create (size_t descriptorCount, SharedPointer< SocketRights > &rights)
 

Private Member Functions

 SocketRights (size_t reservation)
 
 SocketRights (const SocketRights &)=delete
 
SocketRightsoperator= (const SocketRights &)=delete
 

Private Attributes

Vector< FileDescriptor * > m_Descriptors
 
size_t m_Reservation
 

Static Private Attributes

static Mutex m_InFlightLock
 
static size_t m_InFlight = 0
 

Detailed Description

Descriptor ownership attached to one in-flight socket record.

Definition at line 47 of file UnixFilesystem.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : size_t

Definition at line 49 of file UnixFilesystem.h.

Constructor & Destructor Documentation

◆ ~SocketRights()

SocketRights::~SocketRights ( )

Definition at line 43 of file UnixFilesystem.cc.

◆ SocketRights()

SocketRights::SocketRights ( size_t  reservation)
explicitprivate

Definition at line 40 of file UnixFilesystem.cc.

Member Function Documentation

◆ append()

void SocketRights::append ( FileDescriptor descriptor)

Definition at line 72 of file UnixFilesystem.cc.

◆ count()

size_t SocketRights::count ( ) const

Definition at line 78 of file UnixFilesystem.cc.

◆ create()

bool SocketRights::create ( size_t  descriptorCount,
SharedPointer< SocketRights > &  rights 
)
static

Reserve the global in-flight budget for one SCM_RIGHTS record.

Definition at line 54 of file UnixFilesystem.cc.

References SharedPointer< T >::reset().

◆ descriptor()

FileDescriptor * SocketRights::descriptor ( size_t  index) const

Definition at line 82 of file UnixFilesystem.cc.

Member Data Documentation

◆ m_Descriptors

Vector<FileDescriptor*> SocketRights::m_Descriptors
private

Definition at line 70 of file UnixFilesystem.h.

◆ m_InFlight

size_t SocketRights::m_InFlight = 0
staticprivate

Definition at line 74 of file UnixFilesystem.h.

◆ m_InFlightLock

Mutex SocketRights::m_InFlightLock
staticprivate

Definition at line 73 of file UnixFilesystem.h.

◆ m_Reservation

size_t SocketRights::m_Reservation
private

Definition at line 71 of file UnixFilesystem.h.


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