50 lines
1.4 KiB
C#
50 lines
1.4 KiB
C#
#nullable enable
|
|
|
|
namespace ShrinkNetwork
|
|
{
|
|
public enum ShrinkNetworkTransportEventType
|
|
{
|
|
Connected = 0,
|
|
Disconnected = 1,
|
|
Packet = 2
|
|
}
|
|
|
|
public sealed class ShrinkNetworkTransportEvent
|
|
{
|
|
public ShrinkNetworkTransportEventType Type;
|
|
public long SessionId;
|
|
public string RemoteAddress = string.Empty;
|
|
public byte[] PacketData = System.Array.Empty<byte>();
|
|
|
|
public static ShrinkNetworkTransportEvent Connected(long sessionId, string remoteAddress)
|
|
{
|
|
return new ShrinkNetworkTransportEvent
|
|
{
|
|
Type = ShrinkNetworkTransportEventType.Connected,
|
|
SessionId = sessionId,
|
|
RemoteAddress = remoteAddress
|
|
};
|
|
}
|
|
|
|
public static ShrinkNetworkTransportEvent Disconnected(long sessionId, string remoteAddress)
|
|
{
|
|
return new ShrinkNetworkTransportEvent
|
|
{
|
|
Type = ShrinkNetworkTransportEventType.Disconnected,
|
|
SessionId = sessionId,
|
|
RemoteAddress = remoteAddress
|
|
};
|
|
}
|
|
|
|
public static ShrinkNetworkTransportEvent Packet(long sessionId, byte[] packetData)
|
|
{
|
|
return new ShrinkNetworkTransportEvent
|
|
{
|
|
Type = ShrinkNetworkTransportEventType.Packet,
|
|
SessionId = sessionId,
|
|
PacketData = packetData
|
|
};
|
|
}
|
|
}
|
|
}
|