Example #1
0
        public void Consume(IReceivedMessageTraceList list)
        {
            if (_unsubscribe != null)
            {
                _unsubscribe();
            }
            _unsubscribe = null;

            ITextBlock text = new TextBlock()
                              .BeginBlock("Trace URI: " + _uriString,
                                          string.Format("{0} message{1}", list.Messages.Count, list.Messages.Count == 1 ? "" : "s"))
                              .Break();

            foreach (IReceivedMessageTraceDetail message in list.Messages)
            {
                text.BeginBlock("Received: " + message.Id, Format(message.StartTime));

                text.Table(GetMessageHeaderDictionary(message),
                           "Duration (ms)", ((int)message.Duration.TotalMilliseconds).ToString("N0"));

                text.Break();

                if (message.Receivers != null)
                {
                    foreach (IReceiverTraceDetail receiver in message.Receivers)
                    {
                        text.BeginBlock(receiver.ReceiverType, Format(receiver.StartTime));
                        text.Table(GetReceiverDictionary(receiver));
                        text.EndBlock();
                    }
                }

                if (message.SentMessages != null)
                {
                    foreach (ISentMessageTraceDetail sent in message.SentMessages)
                    {
                        text.BeginBlock("Sent: " + sent.Id, Format(sent.StartTime));

                        text.Table(GetMessageHeaderDictionary(sent),
                                   "Endpoint Address", sent.Address.ToString());
                        text.EndBlock();
                    }
                }

                text.EndBlock();
            }

            _log.Info(text.ToString());
            _complete.Set();
        }
Example #2
0
		public bool Execute()
		{
			Uri uri = _uriString.ToUri("The from URI was invalid");

			IInboundTransport fromTransport = Program.Transports.GetTransport(uri);

			var text = new TextBlock()
				.BeginBlock("Peek URI: " + uri, "");

			int peekCount = 0;
			fromTransport.Receive(receiveContext =>
				{
					if (peekCount >= _count)
						return null;

					var body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd());

					text.BeginBlock("MessageId: " + receiveContext.MessageId ?? "", peekCount)
						.Body(body)
						.EndBlock();

					peekCount++;

					return null;
				}, TimeSpan.Zero);

			_log.Info(text.ToString());

			return true;
		}
Example #3
0
        public bool Execute()
        {
            Uri uri = _uriString.ToUri("The from URI was invalid");

            IInboundTransport fromTransport = Program.Transports.GetInboundTransport(uri);

            var text = new TextBlock()
                       .BeginBlock("Peek URI: " + uri, "");

            int peekCount = 0;

            fromTransport.Receive(receiveContext =>
            {
                if (peekCount >= _count)
                {
                    return(null);
                }

                var body = Encoding.UTF8.GetString(receiveContext.BodyStream.ReadToEnd());

                text.BeginBlock("MessageId: " + receiveContext.MessageId ?? "", peekCount)
                .Body(body)
                .EndBlock();

                peekCount++;

                return(null);
            }, 5.Seconds());

            _log.Info(text.ToString());

            return(true);
        }