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 | UniqueLock = typename Base_::UniqueLock |
![]() | |
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 | |
FileWriteAccessor (TFD &&fd, ReleaseDescriptorCallback release_callback, UniqueLock lock) | |
virtual | ~FileWriteAccessor () |
Destructor. | |
bool | isReadOnly () const final |
![]() | |
virtual | ~FileAccessor ()=default |
Destructor. | |
![]() | |
virtual | ~FileAccessorBase ()=default |
Private Attributes | |
UniqueLock | m_unique_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 an exclusive lock, so there can only be one accessor (no simultaneous reads!)
TFD | File descriptor type |
Definition at line 121 of file FileAccessor.h.
typedef FileAccessor<TFD> Euclid::FilePool::FileWriteAccessor< TFD >::Base_ |
Definition at line 123 of file FileAccessor.h.
using Euclid::FilePool::FileWriteAccessor< TFD >::ReleaseDescriptorCallback = typename Base_::ReleaseDescriptorCallback |
Definition at line 124 of file FileAccessor.h.
using Euclid::FilePool::FileWriteAccessor< TFD >::SharedLock = typename Base_::SharedLock |
Definition at line 125 of file FileAccessor.h.
using Euclid::FilePool::FileWriteAccessor< TFD >::UniqueLock = typename Base_::UniqueLock |
Definition at line 126 of file FileAccessor.h.
Euclid::FilePool::FileWriteAccessor< TFD >::FileWriteAccessor | ( | TFD && | fd, |
ReleaseDescriptorCallback | release_callback, | ||
UniqueLock | lock | ||
) |
Constructor
fd | File descriptor |
release_callback | Callback to be called at destruction |
lock | Unique lock to the underlying file |
|
virtual |
Destructor.
|
finalvirtual |
Implements Euclid::FilePool::FileAccessorBase.
|
private |
Definition at line 146 of file FileAccessor.h.