2021-09-28 04:00:33 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "StorageServerPackageStore.h"
|
|
|
|
|
#include "IO/IoDispatcher.h"
|
|
|
|
|
#include "StorageServerConnection.h"
|
2021-10-27 15:14:40 -04:00
|
|
|
#include "Serialization/MemoryReader.h"
|
2021-09-28 04:00:33 -04:00
|
|
|
|
|
|
|
|
#if !UE_BUILD_SHIPPING
|
|
|
|
|
|
2022-06-01 02:12:33 -04:00
|
|
|
FStorageServerPackageStoreBackend::FStorageServerPackageStoreBackend(FStorageServerConnection& Connection)
|
2021-09-28 04:00:33 -04:00
|
|
|
{
|
2022-11-14 06:35:53 -05:00
|
|
|
Connection.PackageStoreRequest([this](FPackageStoreEntryResource&& PackageStoreEntryResource)
|
2021-09-28 04:00:33 -04:00
|
|
|
{
|
2022-11-14 06:35:53 -05:00
|
|
|
FStoreEntry& LocalEntry = StoreEntriesMap.FindOrAdd(PackageStoreEntryResource.GetPackageId());
|
|
|
|
|
LocalEntry.ImportedPackages = MoveTemp(PackageStoreEntryResource.ImportedPackageIds);
|
|
|
|
|
LocalEntry.ShaderMapHashes = MoveTemp(PackageStoreEntryResource.ShaderMapHashes);
|
|
|
|
|
});
|
2021-09-28 04:00:33 -04:00
|
|
|
}
|
|
|
|
|
|
2023-09-05 08:41:53 -04:00
|
|
|
EPackageStoreEntryStatus FStorageServerPackageStoreBackend::GetPackageStoreEntry(FPackageId PackageId, FName PackageName,
|
|
|
|
|
FPackageStoreEntry& OutPackageStoreEntry)
|
2021-09-28 04:00:33 -04:00
|
|
|
{
|
2022-11-14 06:35:53 -05:00
|
|
|
const FStoreEntry* FindEntry = StoreEntriesMap.Find(PackageId);
|
2021-10-12 21:21:22 -04:00
|
|
|
if (FindEntry)
|
2021-09-28 04:00:33 -04:00
|
|
|
{
|
2022-11-14 06:35:53 -05:00
|
|
|
OutPackageStoreEntry.ImportedPackageIds = FindEntry->ImportedPackages;
|
|
|
|
|
OutPackageStoreEntry.ShaderMapHashes = FindEntry->ShaderMapHashes;
|
2021-10-12 21:21:22 -04:00
|
|
|
return EPackageStoreEntryStatus::Ok;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return EPackageStoreEntryStatus::Missing;
|
|
|
|
|
}
|
2021-09-28 04:00:33 -04:00
|
|
|
}
|
|
|
|
|
|
2021-10-27 15:14:40 -04:00
|
|
|
#endif
|