22 lines
842 B
C#
22 lines
842 B
C#
using System.Net;
|
|
using System.Net.Sockets;
|
|
|
|
namespace FurinaImpact.Kcp
|
|
{
|
|
/// <summary>
|
|
/// A transport to send and receive packets.
|
|
/// </summary>
|
|
public interface IKcpTransport
|
|
{
|
|
/// <summary>
|
|
/// Send a packet into the transport.
|
|
/// </summary>
|
|
/// <param name="packet">The content of the packet.</param>
|
|
/// <param name="remoteEndpoint">The remote endpoint</param>
|
|
/// <param name="cancellationToken">A token to cancel this operation.</param>
|
|
/// <returns>A <see cref="ValueTask"/> that completes when the packet is sent.</returns>
|
|
ValueTask SendPacketAsync(Memory<byte> packet, IPEndPoint remoteEndpoint, CancellationToken cancellationToken);
|
|
|
|
void SetCallbacks(int handshakeSize, Func<UdpReceiveResult, ValueTask> handshakeHandler);
|
|
}
|
|
}
|