Пример #1
0
        public override void Run()
        {
            TraceTitle("Ping");
            TraceDocumentation(null, "Sending a ping and write something to get some documentation.");

            _log.LogInformation("Publish \"ping\" message.");

            string pingReturnTopic = $"ping/{_myServiceId}/response";
            string pingReturnValue = null;

            PayloadToVariable <TestSequence>(pingReturnTopic, payload => pingReturnValue = payload);

            _messaging.Publish(new Message
            {
                Topic   = "ping/request",
                Payload = JsonSerializer.Serialize(new { ReplyTo = pingReturnTopic })
            });

            WaitForValueSet(ref pingReturnValue, 15);

            TraceDocumentation("Answer received", "Seems to be OK.");
            _log.LogInformation($"Got \"ping\" answer: {pingReturnValue}");

            _log.LogInformation("Test sequence successfully passed!");
        }
Пример #2
0
        public void Handle(Message message)
        {
            var req     = JsonSerializer.Deserialize <PingRequest>(message.Payload);
            var replyTo = req.ReplyTo;

            _log.LogInformation($"Received ping/request ({req.Id}), answering to {replyTo}");
            _messaging.Publish(new Message {
                Topic = replyTo, Payload = JsonSerializer.Serialize(new { req.Id })
            });
        }
Пример #3
0
        private void SendAcknowledgement(TransportFileEnvelope envelope, bool isConsistent)
        {
            var payload = isConsistent ? Ok : Nok;

            string fileName = null;

            envelope.TransportFile?.TryGetValue("Name", out fileName);
            _log.LogDebug($"Send ack to {envelope.ReplyTo}, payload={payload}, file={fileName}");

            var message = new Message
            {
                Topic   = envelope.ReplyTo,
                Payload = payload
            };

            _messaging.Publish(message);
        }