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); }