using DotNetty.Buffers;
using DotNetty.Codecs;
using DotNetty.Transport.Channels;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Text;
using JT808.Protocol;
using JT808.DotNetty.Internal;
using JT808.DotNetty.Interfaces;
namespace JT808.DotNetty.Codecs
{
///
/// JT808解码
///
internal class JT808Decoder : ByteToMessageDecoder
{
private readonly ILogger logger;
private readonly IJT808SourcePackageDispatcher jT808SourcePackageDispatcher;
private readonly JT808AtomicCounterService jT808AtomicCounterService;
public JT808Decoder(
JT808AtomicCounterService jT808AtomicCounterService,
IJT808SourcePackageDispatcher jT808SourcePackageDispatcher,
ILoggerFactory loggerFactory)
{
this.jT808AtomicCounterService = jT808AtomicCounterService;
this.logger = loggerFactory.CreateLogger();
this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher;
}
protected override void Decode(IChannelHandlerContext context, IByteBuffer input, List