Files
UnrealEngine/Engine/Source/Developer/Zen/Internal/ZenSerialization.h
2025-05-18 13:04:45 +08:00

44 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Experimental/ZenServerInterface.h"
#if UE_WITH_ZEN
#include "Memory/SharedBuffer.h"
#include "Serialization/CompactBinary.h"
class FArchive;
class FCbAttachment;
class FCbPackage;
class FCbWriter;
namespace UE::Zen {
namespace OpLog
{
ZEN_API void SaveCbAttachment(const FCbAttachment& Attachment, FCbWriter& Writer);
ZEN_API void SaveCbPackage(const FCbPackage& Package, FCbWriter& Writer);
ZEN_API void SaveCbPackage(const FCbPackage& Package, FArchive& Ar);
ZEN_API bool TryLoadCbPackage(FCbPackage& Package, FArchive& Ar, FCbBufferAllocator Allocator = FUniqueBuffer::Alloc);
}
namespace Http
{
static const uint32 kCbPkgMagic = 0xaa77aacc;
enum class RpcAcceptOptions : uint32_t
{
kNone = 0,
kAllowLocalReferences = (1u << 0),
kAllowPartialCacheChunks = (1u << 2)
};
ZEN_API void SaveCbPackage(const FCbPackage& Package, FArchive& Ar);
ZEN_API bool TryLoadCbPackage(FCbPackage& Package, FArchive& Ar, FCbBufferAllocator Allocator = FUniqueBuffer::Alloc);
}
} // namespace UE::Zen
#endif // UE_WITH_ZEN