using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using NosCore.Packets; using NosCore.Packets.Interfaces; using NosSmooth.Core.Packets; using Remora.Results; namespace PacketLogger.Packets; public class PacketLoggerResponder : IEveryPacketResponder { private readonly ILogger _logger; private readonly Serializer _serializer; public PacketLoggerResponder(ILogger logger, Serializer serializer) { _logger = logger; _serializer = serializer; } public Task Respond(TPacket packet, CancellationToken ct = default) where TPacket : IPacket { _logger.LogInformation(_serializer.Serialize(packet)); return Task.FromResult(Result.FromSuccess()); } }