using System;
using System.Threading.Tasks;
namespace Network
{
[Flags]
public enum PacketFlags
{
None = 0,
Reliable = 1 << 0,
Unsequenced = 1 << 1,
NoAllocate = 1 << 2
}
public interface IChannel: IDisposable
{
///
/// 发送消息
///
void SendAsync(byte[] buffer, byte channelID = 0, PacketFlags flags = PacketFlags.Reliable);
///
/// 接收消息
///
Task RecvAsync();
Task DisconnnectAsync();
string RemoteAddress { get; }
}
}