tgstation-server 6.12.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
PosixWatchdog.cs
Go to the documentation of this file.
1using System;
2using System.Runtime.Versioning;
3using System.Threading;
4using System.Threading.Tasks;
5
6using Microsoft.Extensions.Logging;
7
19
21{
25 [UnsupportedOSPlatform("windows")]
27 {
32
54 IChatManager chat,
55 ISessionControllerFactory sessionControllerFactory,
56 IDmbFactory dmbFactory,
57 ISessionPersistor sessionPersistor,
59 IServerControl serverControl,
60 IAsyncDelayer asyncDelayer,
64 IIOManager gameIOManager,
65 IFilesystemLinkFactory linkFactory,
66 ILogger<PosixWatchdog> logger,
67 DreamDaemonLaunchParameters initialLaunchParameters,
68 Api.Models.Instance instance,
70 bool autoStart)
71 : base(
72 chat,
73 sessionControllerFactory,
74 dmbFactory,
75 sessionPersistor,
77 serverControl,
78 asyncDelayer,
82 gameIOManager,
83 linkFactory,
84 logger,
85 initialLaunchParameters,
86 instance,
88 {
89 this.generalConfiguration = generalConfiguration ?? throw new ArgumentNullException(nameof(generalConfiguration));
90 }
91
93 protected override ValueTask ApplyInitialDmb(CancellationToken cancellationToken)
94 => ValueTask.CompletedTask; // not necessary to hold initial .dmb on Linux because of based inode deletes
95
99 }
100}
DreamDaemonSecurity? SecurityLevel
The DreamDaemonSecurity level of DreamDaemon. No-op for EngineType.OpenDream.
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.
For managing connected chat services.
Provides absolute paths to the latest compiled .dmbs.
Consumes EventTypes and takes the appropriate actions.
Handles saving and loading ReattachInformation.
Represents a service that may take an updated Host assembly and run it, stopping the current assembly...
Interface for using filesystems.
Definition IIOManager.cs:13
Manages the runtime of Jobs.