Navigation
API > API/Runtime > API/Runtime/Core
FTransactionallySafeArchiveWriter takes ownership of an existing FArchive and allows it to be written to during a transaction. This works by deferring file writes into a memory buffer when inside a transaction. When the transaction is committed, the buffer is written into the passed-in FArchive.
Outside of a transaction, writes are passed through to the wrapped archive transparently.
This class only supports basic archive functionality like << and Serialize. Other operations like Seek and Tell are not supported.
| Name | FTransactionallySafeArchiveWriter |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Serialization/TransactionallySafeArchiveWriter.h |
| Include Path | #include "Serialization/TransactionallySafeArchiveWriter.h" |
Syntax
class FTransactionallySafeArchiveWriter : public FArchive
Inheritance Hierarchy
- FArchiveState → FArchive → FTransactionallySafeArchiveWriter
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTransactionallySafeArchiveWriter
(
TUniquePtr< FArchive > Ar |
Serialization/TransactionallySafeArchiveWriter.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FTransactionallySafeArchiveWriter() |
Serialization/TransactionallySafeArchiveWriter.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| DeferredWriteBuffer | TArray< uint8 > | Serialization/TransactionallySafeArchiveWriter.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bFlushRequested | bool | Serialization/TransactionallySafeArchiveWriter.h | ||
| bRegisteredCommitHandler | bool | Serialization/TransactionallySafeArchiveWriter.h | ||
| DeferredWrites | DeferredWriteBuffer | Serialization/TransactionallySafeArchiveWriter.h | ||
| InnerArchive | TUniquePtr< FArchive > | Serialization/TransactionallySafeArchiveWriter.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TUniquePtr< FArchive > Release () |
If we are outside of a transaction, you can have your archive back. | Serialization/TransactionallySafeArchiveWriter.h |
Overridden from FArchive
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Flush() |
Like all writes, flushes also need to be deferred to commit time. | Serialization/TransactionallySafeArchiveWriter.h | |
virtual void Seek
(
int64 InPos |
Attempts to set the current offset into backing data storage, this will do nothing if there is no storage. | Serialization/TransactionallySafeArchiveWriter.h | |
virtual void Serialize
(
void* Data, |
Serialization/TransactionallySafeArchiveWriter.h |
Overridden from FArchiveState
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FString GetArchiveName () |
Returns the name of the Archive. | Serialization/TransactionallySafeArchiveWriter.h | |
virtual int64 Tell () |
Returns the current location within the backing data storage, which can possibly be passed to Seek later to restore a read/write location. | Serialization/TransactionallySafeArchiveWriter.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void DoDeferredWrites
(
FArchive& Archive, |
Serialization/TransactionallySafeArchiveWriter.h |