Esempio n. 1
0
        private async void BeginReceiving()
        {
            try
            {
                while (Connection.IsOpen)
                {
                    RpcMessage[] messages = await Connection.Receive();

                    foreach (RpcMessage message in messages)
                    {
                        if (message.Type == MessageType.Response || message.Type == MessageType.Error)
                        {
                            receivedMessages.Add(message.Id, message);
                        }
                        else if (message.Type == MessageType.Event)
                        {
                            // TODO Events
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        public async Task WhenAddedAsync()
        {
            const int expectedKey = 9;

            var dict = new WhenableDictionary<int, string>();

            Task task = Task.Delay(100).ContinueWith(t =>
            {
                for (int i = 0; i < expectedKey + 1; i++)
                {
                    dict.Add(i, i.ToString());
                }
            });

            string result = await dict.WhenAdded((k, v) => k == expectedKey).GetValueAsync();

            Assert.AreEqual(expectedKey.ToString(), result);
        }
        public async Task WhenAddedAsync()
        {
            const int expectedKey = 9;

            var dict = new WhenableDictionary <int, string>();

            Task task = Task.Delay(100).ContinueWith(t =>
            {
                for (int i = 0; i < expectedKey + 1; i++)
                {
                    dict.Add(i, i.ToString());
                }
            });

            string result = await dict.WhenAdded((k, v) => k == expectedKey).GetValueAsync();

            Assert.AreEqual(expectedKey.ToString(), result);
        }
        public void WhenRemovedGet()
        {
            const int expectedKey = 9;

            var dict = new WhenableDictionary<int, string>();

            Task.Delay(100).ContinueWith(t =>
            {
                for (int i = 0; i < expectedKey + 1; i++)
                {
                    dict.Add(i, i.ToString());
                }
                for (int i = expectedKey; i > 0; i--)
                {
                    dict.Remove(i);
                }
            });

            string result = dict.WhenRemoved((k, v) => k == expectedKey).GetValue();

            Assert.AreEqual(expectedKey.ToString(), result);
        }
        public void WhenRemovedGet()
        {
            const int expectedKey = 9;

            var dict = new WhenableDictionary <int, string>();

            Task.Delay(100).ContinueWith(t =>
            {
                for (int i = 0; i < expectedKey + 1; i++)
                {
                    dict.Add(i, i.ToString());
                }
                for (int i = expectedKey; i > 0; i--)
                {
                    dict.Remove(i);
                }
            });

            string result = dict.WhenRemoved((k, v) => k == expectedKey).GetValue();

            Assert.AreEqual(expectedKey.ToString(), result);
        }