38 lines
1.6 KiB
C
38 lines
1.6 KiB
C
|
|
#pragma once
|
||
|
|
#include "IWorkerRequests.h"
|
||
|
|
#include "Cooker/CookPackageData.h"
|
||
|
|
namespace UE
|
||
|
|
{
|
||
|
|
namespace Cook
|
||
|
|
{
|
||
|
|
class FWorkerRequestsRemote: public IWorkerRequests
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
FWorkerRequestsRemote(UCookOnTheFlyServer& InCOTFS);
|
||
|
|
~FWorkerRequestsRemote() override;
|
||
|
|
|
||
|
|
virtual void OnRemoveSessionPlatform(const ITargetPlatform* TargetPlatform) override;
|
||
|
|
virtual bool DequeueCallbacks(TArray<FSchedulerCallback>& OutCallbacks) override;
|
||
|
|
virtual bool HasRequests() override;
|
||
|
|
virtual void AddCallback(FSchedulerCallback&& Callback) override;
|
||
|
|
virtual void EnqueueUnique(FFilePlatformRequest&& FileRequest, bool bForceFrontOfQueue = false) override;
|
||
|
|
virtual void DequeueAll(TArray<FSchedulerCallback>& OutCallbacks, TArray<FFilePlatformRequest>& OutCookRequests) override;
|
||
|
|
virtual EExternalRequestType DequeueRequest(TArray<FSchedulerCallback>& OutCallbacks, FFilePlatformRequest& OutToBuild) override;
|
||
|
|
virtual int32 GetNumRequests() const override;
|
||
|
|
virtual void RemapTargetPlatforms(const TMap<ITargetPlatform*, ITargetPlatform*>& Remap) override;
|
||
|
|
|
||
|
|
ECookMode::Type GetDirectorCookMode() override;
|
||
|
|
|
||
|
|
virtual bool AssignRequests() override;
|
||
|
|
virtual bool DecideNextCookAction(FTickStackData& StackData, UCookOnTheFlyServer::ECookAction& CookAction);
|
||
|
|
virtual bool AddToWaitAssign(FPackageData& PackageData, EPackageState TargetState) override;
|
||
|
|
|
||
|
|
private:
|
||
|
|
uint32 DesiredWaitAssignQueueLength;
|
||
|
|
FCookWorkerClient& CookWorkerClient;
|
||
|
|
FExternalRequests ExternalRequests;
|
||
|
|
FPackageDataQueue WaitAssignQueue;
|
||
|
|
TSet<FPackageData*> LoadedPackages;
|
||
|
|
};
|
||
|
|
} // namespace Cook
|
||
|
|
} // namespace UE
|