public void Connect()
        {
            try
            {
                DisposeWorkersAndTimer();

                ControlWorker = WorkerFactory.CreateControlWorker();
                ControlWorker.Disconnected += ControlSocketOnDisconnected;

                CommandWorker = WorkerFactory.CreateCommandWorker();

                NavDataWorker = WorkerFactory.CreateNavDataWorker();
                NavDataWorker.NavDataReceived += NavDataWorkerOnNavDataReceived;

                ControlWorker.Run();
                CommandWorker.Run();

                CommandTimer = TimerFactory.CreateTimer();

                NavDataWorker.Run();

                QueueInitialCommands();

                Connected = true;
            }
            catch
            {
                Disconnect();
                throw;
            }
        }
 private void DisposeCommandWorker()
 {
     if (CommandWorker != null)
     {
         CommandWorker.Dispose();
         CommandWorker = null;
     }
 }
Esempio n. 3
0
        public void Constructor_AssignsThreadSleeper()
        {
            // Arrange

            // Act
            var cw = new CommandWorker();

            // Assert
            cw.ThreadSleeper.Should().BeOfType <ThreadSleeper>();
        }
Esempio n. 4
0
        public virtual CommandWorker CreateCommandWorker()
        {
            var socket = SocketFactory.GetUdpSocket(ConnectParams.NetworkAddress, ConnectParams.CommandPort);

            var worker = new CommandWorker
            {
                Socket                      = socket,
                CommandFormatter            = new CommandFormatter(),
                CommandQueue                = new CommandQueue(),
                FloatToInt32Converter       = new FloatToInt32Converter(),
                ProgressiveCommandFormatter = new ProgressiveCommandFormatter()
            };

            return(worker);
        }
Esempio n. 5
0
 public void InitializeTests()
 {
     _mockCommandQueue                = new Mock <CommandQueue>();
     _mockCommandFormatter            = new Mock <CommandFormatter>();
     _mockUdpSocket                   = new Mock <IUdpSocket>();
     _mockFloatToInt32Converter       = new Mock <FloatToInt32Converter>();
     _mockProgressiveCommandFormatter = new Mock <ProgressiveCommandFormatter>();
     _mockThreadSleeper               = new Mock <ThreadSleeper>();
     _target = new CommandWorker
     {
         Socket                      = _mockUdpSocket.Object,
         CommandQueue                = _mockCommandQueue.Object,
         CommandFormatter            = _mockCommandFormatter.Object,
         FloatToInt32Converter       = _mockFloatToInt32Converter.Object,
         ProgressiveCommandFormatter = _mockProgressiveCommandFormatter.Object,
         ThreadSleeper               = _mockThreadSleeper.Object
     };
 }
Esempio n. 6
0
 private static void VerifyValidSessionAppAndProfileIds(CommandWorker result)
 {
     result.SessionId.Should().HaveLength(8);
     result.ProfileId.Should().HaveLength(8);
     result.ApplicationId.Should().HaveLength(8);
 }