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::FileSystemImplcreateTransaction (::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 numBytesWritePending, bool const fromResourcePack)
virtual uint64 estimatePendingWriteDiskSize (uint64 rawFileSize) const
virtual void informStorageAreaCopy (uint64 storageAreaSize)
virtual::Core::Result setSaveDataIcon (::Core::PathView)
virtual::Core::FileStorageArea::FlushableLevelDbEnvType getFlushableLevelDbEnvType () const
virtual void flushImmediately ()
virtual void enableFlushToDisk (bool)
virtual bool checkCorrupt (bool handleCorruption)
virtual void _onTeardown ()
virtual ::std::unique_ptr<::Core::FileSystemImplcreateTransaction (::Core::FileAccessType fileAccessType, ::Core::TransactionFlags)
virtual void setUsedSizeOverride (uint64)
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 &) 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::FileIndexLrugetFileIndexLru ()
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, ::std::error_code) const
virtual::Core::Result _commit ()
virtual::Core::Result _onTransactionsEmpty (bool fromChild)
MCAPI void _addReadOperation (bool succeeded, uint64 numBytesRead)
MCAPI void _addWriteOperation (bool succeeded, uint64 numBytesWritten)
MCAPI void _beginTransaction (::Core::FileSystemImpl *pTransaction, bool fromChild)
MCAPI::Core::Result _endTransaction (::Core::FileSystemImpl *pTransaction, bool fromChild)
MCAPI_C void addStateListener (::Core::StorageAreaStateListener *l)
MCAPI bool canWrite () const
MCAPI void checkUserStorage ()
MCAPI void removeStateListener (::Core::StorageAreaStateListener *l)
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)
MCFOLD void $clearUsedSizeOverride ()
MCAPI void $notifyChangeInFileSize (int64 changeInSize, int64 changeInAllocatedSize)
MCFOLD bool $handlesPendingWrites () const
MCFOLD void $informPendingWriteSize (uint64 numBytesWritePending, bool const fromResourcePack)
MCFOLD uint64 $estimatePendingWriteDiskSize (uint64 rawFileSize) const
MCFOLD void $informStorageAreaCopy (uint64 storageAreaSize)
MCFOLD bool $supportsExtendSize () const
MCFOLD bool $canExtendSize () const
MCAPI void $resetCanAttemptExtendSize ()
MCAPI::Core::Result $getExtendSizeThreshold (uint64 &) 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 ()
MCFOLD void $enableFlushToDisk (bool)
MCFOLD void $enableSequentialWrites (bool)
MCFOLD bool $checkCorrupt (bool handleCorruption)
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, ::std::error_code) const
MCFOLD::Core::Result $_commit ()
MCFOLD::Core::Result $_onTransactionsEmpty (bool fromChild)
MCFOLD void $_onTeardown ()

Static Public Member Functions

static MCAPI ::Core::Result _getStorageAreaForPathImpl (::std::shared_ptr<::Core::FileStorageArea > &fileStorageArea, ::Core::PathView path)
static MCAPI_C ::Core::Result getStorageAreaForPath (::std::shared_ptr<::Core::FileStorageArea > &fileStorageArea, ::Core::PathView path)
static MCAPI ::Bedrock::Threading::BasicLockbox<::std::vector<::Core::FileStats * >, ::Bedrock::Threading::Mutex > & sStorageAreaFileStats ()
static MCAPI ::Core::StorageAreasTreesStorageAreas ()
static MCAPI void ** $vftable ()

Public Attributes

::ll::UntypedStorage< 8, 16 > mUnkb8f56f
::ll::UntypedStorage< 8, 16 > mUnk847197
::ll::UntypedStorage< 8, 64 > mUnk889f10
::ll::UntypedStorage< 8, 80 > mUnkba13b1
::ll::UntypedStorage< 8, 24 > mUnk7cfba8
::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::FileStatsmTransactionStats
::ll::TypedStorage< 8, 64, ::Core::FileStatsmTotalStats
::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::StorageAreaStatemState
::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 numBytesWritePending,
bool const fromResourcePack )
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 storageAreaSize)
virtual

Reimplemented from Core::FileStorageArea.

◆ flushImmediately()

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

Reimplemented from Core::FileStorageArea.

◆ enableFlushToDisk()

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

Reimplemented from Core::FileStorageArea.

◆ checkCorrupt()

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

Reimplemented from Core::FileStorageArea.

◆ _onTeardown()

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

Reimplemented from Core::FileStorageArea.

◆ $vftable()

MCAPI void ** Core::FileStorageArea::$vftable ( )
staticinherited
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

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