Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public ISessionHostRunner CreateSessionHostRunner(SessionHostType sessionHostType, VmConfiguration vmConfiguration, MultiLogger logger)
 {
     return(CreateSessionHostRunner(sessionHostType, vmConfiguration, logger, false));
 }
Ejemplo n.º 4
0
 /// <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()));
 }