public async Task EntireMessageReceived()
        {
            var expected = new TestMessage()
            {
                Text   = "Some text goes here",
                Bit    = false,
                Number = 1245423534
            };

            TestMessage actual = null;

            var reciever = new UdpReciever <TestMessage>((value) => { actual = value; });

            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            await sender.Send(expected);

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));

            while (actual == null)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.AreEqual(expected, actual);
        }
        public async Task TenSendsTenRecieves()
        {
            int expected = 10;
            int recieves = 0;
            var reciever = new UdpReciever<TestMessage>((value) => { Interlocked.Increment(ref recieves); });
            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            for (int i = 0; i < expected; i++)
            {
                await sender.Send(new TestMessage());
            }

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));
            while (recieves < 10)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.AreEqual(expected, recieves);
        }
        public async Task TenSendsTenRecieves()
        {
            int expected = 10;
            int recieves = 0;
            var reciever = new UdpReciever <TestMessage>((value) => { Interlocked.Increment(ref recieves); });

            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            for (int i = 0; i < expected; i++)
            {
                await sender.Send(new TestMessage());
            }

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));

            while (recieves < 10)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.AreEqual(expected, recieves);
        }
Exemple #4
0
 private void SendUdpBroadcast(UdpMessage message)
 {
     Service1.WriteAppLogInfo("Service1->> " + UdpMessage.Convert(message), message.Type);
     if (_broadcast)
     {
         Debug.WriteLine(message.Type.ToString() + ": " + message.Info);
         UdpBroadcast1.Send(message);
     }
 }
        public async Task OneSendOneRecieve()
        {
            var wasRecieved = false;
            var reciever = new UdpReciever<TestMessage>((value) => { wasRecieved = true; });
            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            await sender.Send(new TestMessage());

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));
            while(!wasRecieved)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.IsTrue(wasRecieved);
        }
        public async Task OneSendOneRecieve()
        {
            var wasRecieved = false;
            var reciever    = new UdpReciever <TestMessage>((value) => { wasRecieved = true; });

            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            await sender.Send(new TestMessage());

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));

            while (!wasRecieved)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.IsTrue(wasRecieved);
        }
        public async Task EntireMessageReceived()
        {
            var expected = new TestMessage()
            {
                Text = "Some text goes here",
                Bit = false,
                Number = 1245423534
            };

            TestMessage actual = null;

            var reciever = new UdpReciever<TestMessage>((value) => { actual = value; });
            reciever.Start();
            await Task.Delay(20);

            var sender = new UdpBroadcaster();

            await sender.Send(expected);

            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));
            while (actual == null)
            {
                cts.Token.ThrowIfCancellationRequested();
                await Task.Delay(10, cts.Token);
            }

            reciever.Stop();

            Assert.AreEqual(expected, actual);
        }
Exemple #8
0
 private void SendUdpBroadcast(UdpMessage message)
 {
     UdpBroadcast1.Send(message);
     WriteAppLogInfo("Udp Form1->> " + UdpMessage.Convert(message), message.Type);
 }