2using System.Threading.Tasks;
23 : base(baseProvider, ioManager, linkFactory)
31 protected override async ValueTask
DoSwap(CancellationToken cancellationToken)
A IDmbProvider that uses filesystem links to change directory structure underneath the server process...
IIOManager IOManager
The IIOManager to use.
IDmbProvider BaseProvider
The IDmbProvider we are swapping for.
const string LiveGameDirectory
The directory where the BaseProvider is symlinked to.
IFilesystemLinkFactory LinkFactory
The IFilesystemLinkFactory to use.
A IDmbProvider that uses symlinks.
override Task FinishActivationPreparation(CancellationToken cancellationToken)
SymlinkDmbProvider(IDmbProvider baseProvider, IIOManager ioManager, IFilesystemLinkFactory linkFactory)
Initializes a new instance of the SymlinkDmbProvider class.
override async ValueTask DoSwap(CancellationToken cancellationToken)
Provides absolute paths to the latest compiled .dmbs.
string Directory
The primary game directory.
For creating filesystem symbolic links.
Task CreateSymbolicLink(string targetPath, string linkPath, CancellationToken cancellationToken)
Create a symbolic link.
bool SymlinkedDirectoriesAreDeletedAsFiles
If directory symlinks must be deleted as files would in the current environment.
Interface for using filesystems.
string ResolvePath()
Retrieve the full path of the current working directory.
Task DeleteFile(string path, CancellationToken cancellationToken)
Deletes a file at path .
Task DeleteDirectory(string path, CancellationToken cancellationToken)
Recursively delete a directory, removes and does not enter any symlinks encounterd.