using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Tango.PMR;
using Tango.PMR.Common;
using Tango.PMR.Stubs;
using Tango.Transport;
namespace Tango.Emulations.Emulators
{
public class MobileEmulator : EmulatorBase
{
#region Constructors
///
/// Initializes a new instance of the class.
///
public MobileEmulator() : base()
{
}
///
/// Initializes a new instance of the class.
///
/// The transporter.
public MobileEmulator(ITransporter transporter) : base(transporter)
{
}
#endregion
#region Override Methods
///
/// Called on new request message.
///
/// The sender.
/// The container.
protected override void OnTransporterRequestReceived(object sender, RequestReceivedEventArgs e)
{
var container = e.Container;
switch (container.Type)
{
case MessageType.CalculateRequest:
Thread.Sleep(1000);
var request = MessageFactory.ExtractMessageFromContainer(container);
Transporter.SendResponse(new CalculateResponse()
{
Sum = request.A + request.B,
}, container.Token);
break;
}
}
#endregion
}
}