Files
UnrealEngineUWP/Engine/Source/Developer/TraceAnalysis/Private/Analysis/Processor.h
martin ridgers 27c78d0d4b Over time the framework behind the analysis of traces has grown reactively and organically without little thought to structure. The monolithic class has been refactored to derive some structure that will ease future maintenance (and protocol changes in particular).
#rb johan.berg
#jira ue-114532
#rnx

#ROBOMERGE-SOURCE: CL 16979281 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16979283 by martin ridgers in ue5-release-engine-test branch]
2021-07-28 02:24:48 -04:00

39 lines
832 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Engine.h"
#include "HAL/Runnable.h"
#include "Trace/Analysis.h"
class FEvent;
class FRunnableThread;
namespace UE {
namespace Trace {
////////////////////////////////////////////////////////////////////////////////
class FAnalysisProcessor::FImpl
: public FRunnable
{
public:
FImpl(IInDataStream& DataStream, TArray<IAnalyzer*>&& InAnalyzers);
~FImpl();
virtual uint32 Run() override;
bool IsActive() const;
void StopAnalysis();
void WaitOnAnalysis();
void PauseAnalysis(bool bState);
private:
FAnalysisEngine AnalysisEngine;
IInDataStream& DataStream;
FEvent* StopEvent;
FEvent* UnpausedEvent;
FRunnableThread* Thread = nullptr;
volatile bool bComplete = false;
};
} // namespace Trace
} // namespace UE