Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

37 linhas
1.2 KiB

  1. using System.Threading.Tasks;
  2. using JT808.DotNetty.Abstractions;
  3. using Microsoft.Extensions.Hosting;
  4. using System.Threading;
  5. namespace JT808.DotNetty.MsgLogging
  6. {
  7. public class JT808DotNettyMsgDownLoggingHostedService : IHostedService
  8. {
  9. private readonly IJT808MsgReplyConsumer jT808MsgReplyConsumer;
  10. private readonly IJT808MsgLogging jT808MsgLogging;
  11. public JT808DotNettyMsgDownLoggingHostedService(
  12. IJT808MsgLogging jT808MsgLogging,
  13. IJT808MsgReplyConsumer jT808MsgReplyConsumer)
  14. {
  15. this.jT808MsgReplyConsumer = jT808MsgReplyConsumer;
  16. this.jT808MsgLogging = jT808MsgLogging;
  17. }
  18. public Task StartAsync(CancellationToken cancellationToken)
  19. {
  20. jT808MsgReplyConsumer.Subscribe();
  21. jT808MsgReplyConsumer.OnMessage(item=>
  22. {
  23. jT808MsgLogging.Processor(item, JT808MsgLoggingType.down);
  24. });
  25. return Task.CompletedTask;
  26. }
  27. public Task StopAsync(CancellationToken cancellationToken)
  28. {
  29. jT808MsgReplyConsumer.Unsubscribe();
  30. return Task.CompletedTask;
  31. }
  32. }
  33. }