2using System.Threading.Tasks;
4using Microsoft.Extensions.Logging;
57 ILogger<WindowsWatchdog> logger,
59 Api.Models.Instance instance,
63 sessionControllerFactory,
75 initialLaunchParameters,
82 protected override async ValueTask
ApplyInitialDmb(CancellationToken cancellationToken)
86 Logger.LogTrace(
"Not setting InitialDmb for engine type {engineType}",
Server.EngineVersion.Engine);
90 Server.ReattachInformation.InitialDmb = await
DmbFactory.
FromCompileJob(
Server.CompileJob,
"WindowsWatchdog Initial Deployment", cancellationToken);
Information about an engine installation.
EngineType? Engine
The EngineType.
Launch settings for DreamDaemon.
async ValueTask< IDmbProvider?> FromCompileJob(CompileJob compileJob, string reason, CancellationToken cancellationToken, [CallerFilePath] string? callerFile=null, [CallerLineNumber] int callerLine=default)
Gets a IDmbProvider for a given CompileJob.A ValueTask<TResult> resulting in a new IDmbProvider repre...
A IDmbProvider that uses filesystem links to change directory structure underneath the server process...
A IDmbProvider that uses symlinks.
A IWatchdog that, instead of killing servers for updates, uses the wonders of filesystem links to swa...
IFilesystemLinkFactory LinkFactory
The IFilesystemLinkFactory for the AdvancedWatchdog.
readonly IJobManager jobManager
The IJobManager for the WatchdogBase.
ILogger< WatchdogBase > Logger
The ILogger for the WatchdogBase.
readonly bool autoStart
If the WatchdogBase should LaunchNoLock(bool, bool, bool, ReattachInformation, CancellationToken) in ...
readonly IEventConsumer eventConsumer
The IEventConsumer that is not the WatchdogBase.
readonly IRemoteDeploymentManagerFactory remoteDeploymentManagerFactory
The IRemoteDeploymentManagerFactory for the WatchdogBase.
readonly IIOManager diagnosticsIOManager
The IIOManager pointing to the Diagnostics directory.
IIOManager GameIOManager
The IIOManager for the WatchdogBase pointing to the Game directory.
A variant of the AdvancedWatchdog that works on Windows systems.
WindowsWatchdog(IChatManager chat, ISessionControllerFactory sessionControllerFactory, IDmbFactory dmbFactory, ISessionPersistor sessionPersistor, IJobManager jobManager, IServerControl serverControl, IAsyncDelayer asyncDelayer, IIOManager diagnosticsIOManager, IEventConsumer eventConsumer, IRemoteDeploymentManagerFactory remoteDeploymentManagerFactory, IIOManager gameIOManager, IFilesystemLinkFactory linkFactory, ILogger< WindowsWatchdog > logger, DreamDaemonLaunchParameters initialLaunchParameters, Api.Models.Instance instance, bool autoStart)
Initializes a new instance of the WindowsWatchdog class.
override SwappableDmbProvider CreateSwappableDmbProvider(IDmbProvider dmbProvider)
override async ValueTask ApplyInitialDmb(CancellationToken cancellationToken)
For managing connected chat services.
Factory for IDmbProviders.
Provides absolute paths to the latest compiled .dmbs.
Factory for creating IRemoteDeploymentManagers.
Consumes EventTypes and takes the appropriate actions.
Factory for ISessionControllers.
Handles saving and loading ReattachInformation.
Represents a service that may take an updated Host assembly and run it, stopping the current assembly...
For creating filesystem symbolic links.
Interface for using filesystems.
Manages the runtime of Jobs.
For waiting asynchronously.
EngineType
The type of engine the codebase is using.