public SessionHostInfo(string sessionHostId, string assignmentId, int instanceNumber, string logFolderId, SessionHostType sessionHostType = SessionHostType.Container) { UniqueId = sessionHostId; AssignmentId = assignmentId; InstanceNumber = instanceNumber; LogFolderId = logFolderId; Type = sessionHostType; ReachedStandingBy = false; // This can be updated later if necessary. TypeSpecificId = UniqueId; }
public SessionHostInfo AddNewSessionHost(string sessionHostId, string assignmentId, int instanceNumber, string logFolderId, SessionHostType type = SessionHostType.Container) { var sessionHostInfo = new SessionHostInfo(sessionHostId, assignmentId, instanceNumber, logFolderId, type) { SessionHostHeartbeatRequest = new SessionHostHeartbeatInfo() { AssignmentId = assignmentId, CurrentGameState = SessionHostStatus.PendingHeartbeat, LastStateTransitionTimeUtc = DateTime.UtcNow } }; SessionHostsMap.TryAdd(sessionHostId, sessionHostInfo); return(sessionHostInfo); }
/// <inheritdoc /> public ISessionHostRunner CreateSessionHostRunner(SessionHostType sessionHostType, VmConfiguration vmConfiguration, MultiLogger logger) { return(CreateSessionHostRunner(sessionHostType, vmConfiguration, logger, false)); }
/// <inheritdoc /> public ISessionHostRunner CreateSessionHostRunner(SessionHostType sessionHostType, VmConfiguration vmConfiguration, MultiLogger logger, bool shouldPublicPortMatchGamePort) { return(sessionHostType == SessionHostType.Container ? (ISessionHostRunner) new DockerContainerEngine(vmConfiguration, logger, SystemOperations.Default, shouldPublicPortMatchGamePort: shouldPublicPortMatchGamePort) : new ProcessRunner(vmConfiguration, logger, SystemOperations.Default, new ProcessWrapper())); }