diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-08-15 10:27:35 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-08-15 10:27:35 +0300 |
| commit | 7867b3ac045364fc2aa11a860871bee2bfeb072d (patch) | |
| tree | 78a9a5c665a6c123ecaecf9bce28be75a44af580 /Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs | |
| parent | b59b10c6b53f75fd9564662f6c198e794456d47b (diff) | |
| download | Tango-7867b3ac045364fc2aa11a860871bee2bfeb072d.tar.gz Tango-7867b3ac045364fc2aa11a860871bee2bfeb072d.zip | |
Multiple Jobs on one spool.
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs | 19 |
1 files changed, 19 insertions, 0 deletions
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<StartMachineStatusUpdateResponse>(new StartMachineStatusUpdateResponse() { Status = MachineStatus }, _machineStatusRequestToken); + + Thread.Sleep(2000); + + MachineStatus.SpoolState = SpoolState.Present; + Transporter.SendResponse<StartMachineStatusUpdateResponse>(new StartMachineStatusUpdateResponse() { Status = MachineStatus }, _machineStatusRequestToken); + }); + } } else { |
