2using System.Runtime.Versioning;
4using System.Threading.Tasks;
6using Microsoft.Extensions.Logging;
25 [UnsupportedOSPlatform(
"windows")]
66 ILogger<PosixWatchdog> logger,
68 Api.Models.Instance instance,
73 sessionControllerFactory,
85 initialLaunchParameters,
94 => ValueTask.CompletedTask;
Launch settings for DreamDaemon.
DreamDaemonSecurity? SecurityLevel
The DreamDaemonSecurity level of DreamDaemon. No-op for EngineType.OpenDream.
A IDmbProvider that uses hard links.
A IDmbProvider that uses filesystem links to change directory structure underneath the server process...
A IWatchdog that, instead of killing servers for updates, uses the wonders of filesystem links to swa...
IFilesystemLinkFactory LinkFactory
The IFilesystemLinkFactory for the AdvancedWatchdog.
A variant of the AdvancedWatchdog that works on POSIX systems.
readonly GeneralConfiguration generalConfiguration
The GeneralConfiguration for the PosixWatchdog.
PosixWatchdog(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< PosixWatchdog > logger, DreamDaemonLaunchParameters initialLaunchParameters, Api.Models.Instance instance, GeneralConfiguration generalConfiguration, bool autoStart)
Initializes a new instance of the PosixWatchdog class.
override SwappableDmbProvider CreateSwappableDmbProvider(IDmbProvider dmbProvider)
override ValueTask ApplyInitialDmb(CancellationToken cancellationToken)
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.
DreamDaemonLaunchParameters ActiveLaunchParameters
The DreamDaemonLaunchParameters to be applied.
General configuration options.
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.