aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Emulations
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2021-08-15 10:27:35 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2021-08-15 10:27:35 +0300
commit7867b3ac045364fc2aa11a860871bee2bfeb072d (patch)
tree78a9a5c665a6c123ecaecf9bce28be75a44af580 /Software/Visual_Studio/Tango.Emulations
parentb59b10c6b53f75fd9564662f6c198e794456d47b (diff)
downloadTango-7867b3ac045364fc2aa11a860871bee2bfeb072d.tar.gz
Tango-7867b3ac045364fc2aa11a860871bee2bfeb072d.zip
Multiple Jobs on one spool.
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations')
-rw-r--r--Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs19
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
{