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