Alexandria 2.31.0
SDC-CH common library for the Euclid project
|
#include <FileAccessor.h>
Public Types | |
typedef FileAccessor< TFD > | Base_ |
using | ReleaseDescriptorCallback = typename Base_::ReleaseDescriptorCallback |
using | SharedLock = typename Base_::SharedLock |
![]() | |
using | ReleaseDescriptorCallback = std::function< void(TFD &&)> |
![]() | |
using | SharedMutex = boost::shared_mutex |
using | SharedLock = boost::shared_lock< SharedMutex > |
using | UniqueLock = boost::unique_lock< SharedMutex > |
using | UpgradeLock = boost::upgrade_lock< SharedMutex > |
using | UpgradeToUniqueLock = boost::upgrade_to_unique_lock< SharedMutex > |
Public Member Functions | |
FileReadAccessor (TFD &&fd, ReleaseDescriptorCallback release_callback, SharedLock lock) | |
FileReadAccessor (const FileReadAccessor &)=delete | |
It can not be copied. | |
FileReadAccessor (FileReadAccessor &&)=default | |
But it can be moved. | |
virtual | ~FileReadAccessor () |
Destructor. | |
bool | isReadOnly () const final |
![]() | |
virtual | ~FileAccessor ()=default |
Destructor. | |
![]() | |
virtual | ~FileAccessorBase ()=default |
Private Attributes | |
SharedLock | m_shared_lock |
Additional Inherited Members | |
![]() | |
TFD | m_fd |
The wrapped file descriptor. | |
![]() | |
FileAccessor (TFD &&fd, ReleaseDescriptorCallback release_callback) | |
![]() | |
ReleaseDescriptorCallback | m_release_callback |
Wraps a file descriptor together with a shared lock, so multiple read accessors pointing to the same physical file can exist at the same time.
TFD | File descriptor type |
Definition at line 81 of file FileAccessor.h.
typedef FileAccessor<TFD> Euclid::FilePool::FileReadAccessor< TFD >::Base_ |
Definition at line 83 of file FileAccessor.h.
using Euclid::FilePool::FileReadAccessor< TFD >::ReleaseDescriptorCallback = typename Base_::ReleaseDescriptorCallback |
Definition at line 84 of file FileAccessor.h.
using Euclid::FilePool::FileReadAccessor< TFD >::SharedLock = typename Base_::SharedLock |
Definition at line 85 of file FileAccessor.h.
Euclid::FilePool::FileReadAccessor< TFD >::FileReadAccessor | ( | TFD && | fd, |
ReleaseDescriptorCallback | release_callback, | ||
SharedLock | lock | ||
) |
Constructor
fd | File descriptor |
release_callback | Callback to be called at destruction |
lock | Shared lock |
|
delete |
It can not be copied.
|
default |
But it can be moved.
|
virtual |
Destructor.
|
finalvirtual |
Implements Euclid::FilePool::FileAccessorBase.
|
private |
Definition at line 111 of file FileAccessor.h.