LeviLamina
Loading...
Searching...
No Matches
Core::WriteBufferedFileStorageArea Class Reference
Inheritance diagram for Core::WriteBufferedFileStorageArea:

Public Types

enum class  FlushableLevelDbEnvType : int { None = 0 , InMemory = 1 , StorageArea = 2 }

Public Member Functions

WriteBufferedFileStorageArea & operator= (WriteBufferedFileStorageArea const &)
 WriteBufferedFileStorageArea (WriteBufferedFileStorageArea const &)
virtual ::std::unique_ptr<::Core::FileSystemImpl > createTransaction (::Core::FileAccessType)
virtual bool supportsSizeQuery () const
virtual uint64 getTotalSize () const
virtual::Core::Result getUsedSize (uint64 &)
virtual uint64 getTransactionWriteSizeLimit () const
virtual bool handlesPendingWrites () const
virtual void informPendingWriteSize (uint64, bool const)
virtual uint64 estimatePendingWriteDiskSize (uint64 rawFileSize) const
virtual void informStorageAreaCopy (uint64)
virtual::Core::Result setSaveDataIcon (::Core::PathView)
virtual::Core::FileStorageArea::FlushableLevelDbEnvType getFlushableLevelDbEnvType () const
virtual void flushImmediately (::Core::PathView flushPath)
virtual void enableFlushToDisk (bool)
virtual bool checkCorrupt (bool)
virtual void _onTeardown ()
virtual ::std::unique_ptr<::Core::FileSystemImpl > createTransaction (::Core::FileAccessType fileAccessType, ::Core::TransactionFlags)
virtual void setUsedSizeOverride (uint64 fileSize)
virtual void clearUsedSizeOverride ()
virtual void notifyChangeInFileSize (int64 changeInSize, int64 changeInAllocatedSize)
virtual bool supportsExtendSize () const
virtual bool canExtendSize () const
virtual void resetCanAttemptExtendSize ()
virtual::Core::Result getExtendSizeThreshold (uint64 &outExtendSizeThreshold) const
virtual void attemptExtendSize (int64 const &currentFreeSpace, ::std::function< void()> onCompleteCallback)
virtual void preemptiveExtendSize (uint64 const expectedContentSize, ::std::function< void()> successCallback, ::std::function< void()> failureCallback)
virtual uint64 getAvailableUserStorageSize ()
virtual void unloadFlatFileManifests (bool shouldClearManifests)
virtual void tick ()
virtual void enableSequentialWrites (bool)
virtual ::Bedrock::NonOwnerPointer<::Core::FileIndexLru > getFileIndexLru ()
virtual bool shouldAllowCommit () const
virtual void trackBytesWritten (::Core::PathView targetPath, uint64 amount, ::Core::WriteOperation writeOperation)
virtual void trackWriteOperation (::Core::PathView targetPath, ::Core::WriteOperation writeOperation)
virtual::Core::FileStorageArea::StorageAreaSpaceInfo getStorageAreaSpaceInfo ()
virtual bool shouldRecordFileError (::Core::PathView path, ::std::error_code error) const
virtual::Core::Result _commit ()
virtual::Core::Result _onTransactionsEmpty (bool)
MCAPI void _addReadOperation (bool succeeded, uint64 numBytesRead)
MCAPI void _addWriteOperation (bool succeeded, uint64 numBytesWritten)
MCAPI void _beginTransaction (::Core::FileSystemImpl *pTransaction, bool)
MCAPI::Core::Result _endTransaction (::Core::FileSystemImpl *pTransaction, bool fromChild)
MCAPI void checkUserStorage ()
MCAPI void * $ctor (::Core::FileAccessType type, ::Core::PathView rootPath, bool usesFlatFiles, bool isAccessedDirectly, ::std::shared_ptr<::Core::FileStorageArea > parent)
MCAPI void $dtor ()
MCFOLD ::std::unique_ptr<::Core::FileSystemImpl > $createTransaction (::Core::FileAccessType fileAccessType, ::Core::TransactionFlags)
MCFOLD void $setUsedSizeOverride (uint64 fileSize)
MCFOLD void $clearUsedSizeOverride ()
MCAPI void $notifyChangeInFileSize (int64 changeInSize, int64 changeInAllocatedSize)
MCFOLD bool $handlesPendingWrites () const
MCFOLD void $informPendingWriteSize (uint64, bool const)
MCFOLD uint64 $estimatePendingWriteDiskSize (uint64 rawFileSize) const
MCFOLD void $informStorageAreaCopy (uint64)
MCFOLD bool $supportsExtendSize () const
MCFOLD bool $canExtendSize () const
MCAPI void $resetCanAttemptExtendSize ()
MCAPI::Core::Result $getExtendSizeThreshold (uint64 &outExtendSizeThreshold) const
MCAPI void $attemptExtendSize (int64 const &currentFreeSpace, ::std::function< void()> onCompleteCallback)
MCAPI void $preemptiveExtendSize (uint64 const expectedContentSize, ::std::function< void()> successCallback, ::std::function< void()> failureCallback)
MCAPI uint64 $getAvailableUserStorageSize ()
MCAPI void $unloadFlatFileManifests (bool shouldClearManifests)
MCFOLD void $tick ()
MCFOLD void $flushImmediately (::Core::PathView flushPath)
MCFOLD void $enableFlushToDisk (bool)
MCFOLD void $enableSequentialWrites (bool)
MCFOLD bool $checkCorrupt (bool)
MCFOLD ::Bedrock::NonOwnerPointer<::Core::FileIndexLru > $getFileIndexLru ()
MCFOLD::Core::FileStorageArea::FlushableLevelDbEnvType $getFlushableLevelDbEnvType () const
MCFOLD uint64 $getTransactionWriteSizeLimit () const
MCAPI::Core::Result $setSaveDataIcon (::Core::PathView)
MCAPI bool $shouldAllowCommit () const
MCAPI void $trackBytesWritten (::Core::PathView targetPath, uint64 amount, ::Core::WriteOperation writeOperation)
MCAPI void $trackWriteOperation (::Core::PathView targetPath, ::Core::WriteOperation writeOperation)
MCAPI::Core::FileStorageArea::StorageAreaSpaceInfo $getStorageAreaSpaceInfo ()
MCFOLD bool $shouldRecordFileError (::Core::PathView path, ::std::error_code error) const
MCFOLD::Core::Result $_commit ()
MCFOLD::Core::Result $_onTransactionsEmpty (bool)
MCFOLD void $_onTeardown ()

Static Public Member Functions

static MCAPI ::Core::Result _getStorageAreaForPathImpl (::std::shared_ptr<::Core::FileStorageArea > &fileStorageArea, ::Core::PathView path)
static MCAPI ::Bedrock::Threading::BasicLockbox<::std::vector<::Core::FileStats * >, ::std::mutex > & sStorageAreaFileStats ()
static MCAPI ::Core::StorageAreasTree & sStorageAreas ()

Public Attributes

::ll::UntypedStorage< 8, 16 > mUnkb8f56f
::ll::UntypedStorage< 8, 16 > mUnk847197
::ll::UntypedStorage< 8, 64 > mUnk3c69ca
::ll::UntypedStorage< 8, 80 > mUnkcad905
::ll::UntypedStorage< 8, 24 > mUnk5b52d0
::ll::UntypedStorage< 1, 1 > mUnk13aec3
::ll::UntypedStorage< 1, 1 > mUnk61c0ed
::ll::UntypedStorage< 1, 1 > mUnkafc03c
::ll::TypedStorage< 8, 80, ::std::recursive_mutex > mLock
::ll::TypedStorage< 8, 24, ::std::vector<::Core::FileSystemImpl * > > mAllTransactions
::ll::TypedStorage< 1, 1, bool > mCanAttemptExtendSave
::ll::TypedStorage< 1, 1, bool > mCachedFileUsageSize
::ll::TypedStorage< 8, 64, ::Core::FileStats > mTransactionStats
::ll::TypedStorage< 8, 64, ::Core::FileStats > mTotalStats
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::Core::FileStorageArea > > mParent
::ll::TypedStorage< 4, 4, ::Core::FileAccessType > mAccessType
::ll::TypedStorage< 8, 32, ::Core::PathBuffer<::std::string > > mRootPath
::ll::TypedStorage< 8, 24, ::std::vector<::Core::FileSystemImpl * > > mWriteTransactions
::ll::TypedStorage< 8, 32, ::Core::Subject<::Core::FileStorageAreaObserver, ::Core::SingleThreadedLock > > mSubject
::ll::TypedStorage< 8, 144, ::Core::StorageAreaState > mState
::ll::TypedStorage< 1, 1, ::std::atomic< bool > > mFileIOSuspended
::ll::TypedStorage< 8, 88, ::std::condition_variable_any > mResumeSignal
::ll::TypedStorage< 1, 1, bool > mLoggingEnabled
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::Core::FlatFileManifestTracker > > mManifestTracker
::ll::TypedStorage< 1, 1, bool > mIsAccessedDirectly

Member Function Documentation

◆ createTransaction()

virtual ::std::unique_ptr<::Core::FileSystemImpl > Core::WriteBufferedFileStorageArea::createTransaction ( ::Core::FileAccessType )
virtual

Implements Core::FileStorageArea.

◆ supportsSizeQuery()

virtual bool Core::WriteBufferedFileStorageArea::supportsSizeQuery ( ) const
virtual

Implements Core::FileStorageArea.

◆ getTotalSize()

virtual uint64 Core::WriteBufferedFileStorageArea::getTotalSize ( ) const
virtual

Implements Core::FileStorageArea.

◆ getUsedSize()

virtual::Core::Result Core::WriteBufferedFileStorageArea::getUsedSize ( uint64 & )
virtual

Implements Core::FileStorageArea.

◆ getTransactionWriteSizeLimit()

virtual uint64 Core::WriteBufferedFileStorageArea::getTransactionWriteSizeLimit ( ) const
virtual

Reimplemented from Core::FileStorageArea.

◆ handlesPendingWrites()

virtual bool Core::WriteBufferedFileStorageArea::handlesPendingWrites ( ) const
virtual

Reimplemented from Core::FileStorageArea.

◆ informPendingWriteSize()

virtual void Core::WriteBufferedFileStorageArea::informPendingWriteSize ( uint64 ,
bool const  )
virtual

Reimplemented from Core::FileStorageArea.

◆ estimatePendingWriteDiskSize()

virtual uint64 Core::WriteBufferedFileStorageArea::estimatePendingWriteDiskSize ( uint64 rawFileSize) const
virtual

Reimplemented from Core::FileStorageArea.

◆ informStorageAreaCopy()

virtual void Core::WriteBufferedFileStorageArea::informStorageAreaCopy ( uint64 )
virtual

Reimplemented from Core::FileStorageArea.

◆ flushImmediately()

virtual void Core::WriteBufferedFileStorageArea::flushImmediately ( ::Core::PathView flushPath)
virtual

Reimplemented from Core::FileStorageArea.

◆ enableFlushToDisk()

virtual void Core::WriteBufferedFileStorageArea::enableFlushToDisk ( bool )
virtual

Reimplemented from Core::FileStorageArea.

◆ checkCorrupt()

virtual bool Core::WriteBufferedFileStorageArea::checkCorrupt ( bool )
virtual

Reimplemented from Core::FileStorageArea.

◆ _onTeardown()

virtual void Core::WriteBufferedFileStorageArea::_onTeardown ( )
virtual

Reimplemented from Core::FileStorageArea.


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