Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #4
0
        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]);
        }