You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using System.Threading.Tasks;
- using Microsoft.Extensions.Hosting;
- using System.Threading;
- using JT808.Gateway.Abstractions;
- using JT808.Gateway.Abstractions.Enums;
-
- namespace JT808.Gateway.Transmit
- {
- public class JT808TransmitInMemoryHostedService : IHostedService
- {
- private readonly JT808TransmitService jT808TransmitService;
- private readonly IJT808MsgConsumer jT808MsgConsumer;
- public JT808TransmitInMemoryHostedService(
- IJT808MsgConsumerFactory jT808MsgConsumerFactory,
- JT808TransmitService jT808TransmitService)
- {
- this.jT808TransmitService = jT808TransmitService;
- this.jT808MsgConsumer = jT808MsgConsumerFactory.Create(JT808ConsumerType.TransmitConsumer);
- }
-
- public Task StartAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Subscribe();
- jT808MsgConsumer.OnMessage(jT808TransmitService.Send);
- return Task.CompletedTask;
- }
-
- public Task StopAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Unsubscribe();
- return Task.CompletedTask;
- }
- }
- }
|