aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs')
-rw-r--r--Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
index 6b49ca4eb..1d420e33f 100644
--- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
+++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
@@ -470,6 +470,9 @@ namespace Tango.Emulations.Emulators
case MessageType.StandByRequest:
HandleStandByRequest(MessageFactory.ParseTangoMessageFromContainer<StandByRequest>(container));
break;
+ case MessageType.AttemptThreadJoggingRequest:
+ HandleAttemptThreadJoggingRequest(MessageFactory.ParseTangoMessageFromContainer<AttemptThreadJoggingRequest>(container));
+ break;
}
}
@@ -1719,6 +1722,20 @@ namespace Tango.Emulations.Emulators
await Transporter.SendResponse(new StandByResponse(), request.Container.Token);
}
+ private async void HandleAttemptThreadJoggingRequest(TangoMessage<AttemptThreadJoggingRequest> request)
+ {
+ await Task.Delay(3000);
+
+ if (_rnd.Next(0, 100) > 50)
+ {
+ await Transporter.SendResponse(new AttemptThreadJoggingResponse(), request.Container.Token);
+ }
+ else
+ {
+ await Transporter.SendResponse(new AttemptThreadJoggingResponse(), request.Container.Token, new TransportResponseConfig() { ErrorCode = ErrorCode.GeneralError });
+ }
+ }
+
#endregion
#region Public Methods