private void WaitForConnectionCallBack(IAsyncResult result) { try { _server.EndWaitForConnection(result); var message = _formatter.Deserialize(_server); Debug.WriteLine($"[ <= ] New message of type {message.GetType().Name} received on pipe {_pipeName.Read}"); _ignoreMe.Add(message.MsgId); OnMessageReceived(message); _server.Disconnect(); _server.BeginWaitForConnection(WaitForConnectionCallBack, null); } catch { return; } }
public async Task <IReadOnlyCollection <MessageBase> > GetSessionMessagesAsync(string messageFilter) { var messages = await GetMessagesAsync(messageFilter); if (messages == null || messages.Count == 0) { return(new MessageBase[] { }); } var serializedMessages = messages.Select(x => { var message = _messageFormatter.Deserialize(x.Payload); return(message); }).ToArray(); return(serializedMessages); }
public async Task <IReadOnlyCollection <TransportMessage> > GetSessionMessagesAsync(string messageFilter) { var messages = await RetryPolicy.ExecuteAsync(async() => await _whisper.GetMessagesAsync(messageFilter)); if (messages == null || messages.Count == 0) { return(new TransportMessage[] { }); } var serializedMessages = messages.Select(x => { var payload = x.Payload.Substring(0, x.Payload.Length - 130); var sign = x.Payload.Substring(x.Payload.Length - 130, 130); var message = _messageFormatter.Deserialize(payload); return(TransportMessage.CreateMessage(message, payload, sign)); }).ToArray(); return(serializedMessages); }
public void SerializeToBytes_WithByteArray() { byte[] data = new byte[1]; data[0] = 10; byte[] serializedData = _formatter.Serialize(data); Assert.NotNull(serializedData); byte[] deserializedData = _formatter.Deserialize <byte[]>(serializedData); Assert.NotNull(deserializedData); Assert.Equal(deserializedData.Length, data.Length); Assert.Equal(data[0], deserializedData[0]); }