Class FTryllManagedServerProcess¶
ClassList > FTryllManagedServerProcess
#include <TryllManagedServerProcess.h>
Public Functions¶
| Type | Name |
|---|---|
| FTryllManagedServerProcess () = default |
|
| FTryllManagedServerProcess (const FTryllManagedServerProcess &) = delete |
|
| bool | IsRunning () |
| void | ReleaseHandle () |
| bool | Spawn (const FString & ExePath, int32 Port, int32 IdleShutdownTimeoutSeconds, double ReadinessTimeoutSeconds, FString & OutError, bool & bOutPortConflict) |
| void | TerminateAndRelease () |
| FTryllManagedServerProcess & | operator= (const FTryllManagedServerProcess &) = delete |
| ~FTryllManagedServerProcess () |
Detailed Description¶
Plain (non-UObject) helper that spawns tryll_server.exe as a managed child, draining its stdout to the log until released. Shared by UTryllEditorSubsystem and UTryllSubsystem's packaged-build path — those differ in when/which port to spawn on, not in how.
Public Functions Documentation¶
function FTryllManagedServerProcess [1/2]¶
function FTryllManagedServerProcess [2/2]¶
FTryllManagedServerProcess::FTryllManagedServerProcess (
const FTryllManagedServerProcess &
) = delete
function IsRunning¶
function ReleaseHandle¶
Releases the handle without killing the process (normal teardown).
function Spawn¶
bool FTryllManagedServerProcess::Spawn (
const FString & ExePath,
int32 Port,
int32 IdleShutdownTimeoutSeconds,
double ReadinessTimeoutSeconds,
FString & OutError,
bool & bOutPortConflict
)
Spawns ExePath with "--port Port --idle-shutdown-timeout Seconds" and waits up to ReadinessTimeoutSeconds for its TCP port to start accepting.
Returns true when the launch should proceed to connecting — either the port is already accepting, OR the readiness wait elapsed but the process is still alive (a cold start still warming up). In the latter case the server is deliberately left running, not killed: killing an almost-ready server discards the warmup and forces a cold re-spawn — the root cause of "first launch hangs, relaunch works". The caller connects anyway and the connection worker retries until the server is ready.
Returns false only for a genuine launch failure: the process could not be spawned, or it exited on its own before the port opened. OutError is then populated with a clear reason, and bOutPortConflict is set to true iff the process exited with Tryll::ServerExitPortInUse (3), so callers can special-case a bind collision (retry on a different port).
function TerminateAndRelease¶
Force-terminate then release (test/CI cleanup only).
function operator=¶
FTryllManagedServerProcess & FTryllManagedServerProcess::operator= (
const FTryllManagedServerProcess &
) = delete
function ~FTryllManagedServerProcess¶
The documentation for this class was generated from the following file C:/_tryll/_monorepo3/tryll/clients/unreal/Source/TryllClient/Public/TryllManagedServerProcess.h