Files
UnrealEngineUWP/Engine/Source/Programs/UnrealTraceServer/src/StoreService.h
Martin Ridgers 211fae8a95 UnrealTraceServer Linux/Mac implementation and more.
- Forward fork's command line arguments to the daemon (9c481e3)
- Added command line options to control store dir and ports (6ffd7db)
- Added cxxopts (544d33a)
- Treat some store paths as fs::path objects instead of char strings (7ebe3d4)
- Version bump (57e3d65)
- Daemon no longer needs to expect the lock file to not exist (f5625a1)
- Added a timeout when waiting on a daemon (1ac42fd)
- Wait for the daemon by waiting on child processes or signals (d212f29)
- Completely daemonise by detaching from the parent and any terminal (b9c51ce)
- Correctly respond to SIGTERM and SIGINT signals (039fd43)
- Use the PID returned by the lock query as that more robust (44ff23e)
- Delete orphaned lock files (d227389)
- Use fcntl locks instead of flock ones. (d59bdff)
- Missed a few close() calls (4e54cbc)
- Keep the lock file somemore more global and make sure all users have access (fe2a578)
- There is no longer a need to validate the binary path (1d76482)
- Use flock() to have the daemon hold an exclusive lock on the lock file (ca54648)
- Moved 3rdparty to thirdparty inline with TPS expectations (4574f3e)
- Make sure FMount::Id is set (818ea56)
- Removed superfluous argument to GetMountCount() (74ff594)
- Allow the store to mount more than one directory to read traces from (f11459a)
- Have GetStoreDir() return a string instead of a pointer to one (0456c9d)
- Keep methods and members grouped (cf9f322)
- Removed an unused block of code (891eefa)
- Added funciton to convery fs::path to a FString (287cc70)
- Aliased std::filesystem to fs as the former is very wordy (b5eac19)
- Added a conversion constructor (942f8ef)
- Drop down to C++17 as that matches Ubuntu LTS' current best version (46f7c02)
- Deleted dummy dir-watcher impl (30b9976)
- Removed directory-watcher preprocessor conditions (e36679b)
- Integrated change 19143970 (75d0f6f)
- Integrated change 19143744 (dad341b)
- Integrated change 19070550 (3384a7d)

#rb jb
#rnx
#preflight 6238792dbe1e4104d345181e

[CL 19451192 by Martin Ridgers in ue5-main branch]
2022-03-21 09:36:32 -04:00

34 lines
885 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Foundation.h"
////////////////////////////////////////////////////////////////////////////////
class FStoreService
{
public:
struct FDesc
{
fs::path StoreDir;
int32 StorePort = 0; // <=0:auto-assign
int32 RecorderPort = 0; // 0:auto-assign, -1:off
int32 ThreadCount = 0; // <=0:logical CPU count
};
~FStoreService() = default;
static FStoreService* Create(const FDesc& Desc);
void operator delete (void* Addr);
uint32 GetPort() const;
uint32 GetRecorderPort() const;
private:
FStoreService() = default;
FStoreService(const FStoreService&) = delete;
FStoreService(const FStoreService&&) = delete;
void operator = (const FStoreService&) = delete;
void operator = (const FStoreService&&) = delete;
};
/* vim: set noexpandtab : */