|
- using System.Threading.Tasks;
- using Microsoft.Extensions.Hosting;
- using System.Threading;
- using JT808.Gateway.Abstractions;
- using JT808.Gateway.Abstractions.Enums;
-
- namespace JT808.Gateway.MsgIdHandler
- {
- public class JT808MsgIdHandlerInMemoryHostedService : IHostedService
- {
- private readonly IJT808MsgConsumer jT808MsgConsumer;
-
- private readonly IJT808MsgIdHandler jT808MsgIdHandler;
- public JT808MsgIdHandlerInMemoryHostedService(
- IJT808MsgIdHandler jT808MsgIdHandler,
- IJT808MsgConsumerFactory jT808MsgConsumerFactory)
- {
- this.jT808MsgIdHandler = jT808MsgIdHandler;
- this.jT808MsgConsumer = jT808MsgConsumerFactory.Create(JT808ConsumerType.MsgIdHandlerConsumer);
- }
-
- public Task StartAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Subscribe();
- jT808MsgConsumer.OnMessage(jT808MsgIdHandler.Processor);
- return Task.CompletedTask;
- }
-
- public Task StopAsync(CancellationToken cancellationToken)
- {
- jT808MsgConsumer.Unsubscribe();
- return Task.CompletedTask;
- }
- }
- }
|