// // IPacketHandler.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Threading; using System.Threading.Tasks; using NosSmooth.Packets; using Remora.Results; namespace NosSmooth.Core.Packets; /// /// Calls registered responders for the packet that should be handled. /// public interface IPacketHandler { /// /// Calls a responder for the given packet. /// /// The packet. /// The string of the packet. /// The cancellation token for cancelling the operation. /// A result that may or may not have succeeded. public Task HandleReceivedPacketAsync(IPacket packet, string packetString, CancellationToken ct = default); /// /// Calls a responder for the given packet. /// /// The packet. /// The string of the packet. /// The cancellation token for cancelling the operation. /// A result that may or may not have succeeded. public Task HandleSentPacketAsync(IPacket packet, string packetString, CancellationToken ct = default); }