From 7867b3ac045364fc2aa11a860871bee2bfeb072d Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Sun, 15 Aug 2021 10:27:35 +0300 Subject: Multiple Jobs on one spool. --- .../Tango.Emulations/Emulators/MachineEmulator.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'Software/Visual_Studio/Tango.Emulations/Emulators') diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs index 22fa062a7..451ef4868 100644 --- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs +++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs @@ -86,6 +86,7 @@ namespace Tango.Emulations.Emulators private DateTime _connectionTime; private int _jobAbortCounter; private bool _abortHeadCleaning; + private String _machineStatusRequestToken; #region Properties @@ -156,6 +157,7 @@ namespace Tango.Emulations.Emulators { _isAfterReset = true; MachineStatus = new MachineStatus(); + MachineStatus.SpoolState = SpoolState.Present; MachineStatus.State = MachineState.Ready; for (int i = 0; i < 10; i++) @@ -672,6 +674,8 @@ namespace Tango.Emulations.Emulators var cancelToken = CreateCancelToken(); + _machineStatusRequestToken = request.Container.Token; + Task.Factory.StartNew(() => { while (_machine_updates_enabled && Transporter.State == TransportComponentState.Connected && !cancelToken.Canceled) @@ -922,6 +926,21 @@ namespace Tango.Emulations.Emulators } }, request.Container.Token, new TransportResponseConfig() { Completed = !_cancelJob }); + + if (_rnd.Next(0, 100) > 50) + { + Task.Factory.StartNew(() => + { + Thread.Sleep(5000); + MachineStatus.SpoolState = SpoolState.Absent; + Transporter.SendResponse(new StartMachineStatusUpdateResponse() { Status = MachineStatus }, _machineStatusRequestToken); + + Thread.Sleep(2000); + + MachineStatus.SpoolState = SpoolState.Present; + Transporter.SendResponse(new StartMachineStatusUpdateResponse() { Status = MachineStatus }, _machineStatusRequestToken); + }); + } } else { -- cgit v1.3.1