From 8d2a2cd5de40e2b94ef5007c32832ed9a063dc40 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Thu, 12 Oct 2023 22:09:49 +0800 Subject: +hazel-networking --- .../Hazel.UnitTests/UdpConnectionTestHarness.cs | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Tools/Hazel-Networking/Hazel.UnitTests/UdpConnectionTestHarness.cs (limited to 'Tools/Hazel-Networking/Hazel.UnitTests/UdpConnectionTestHarness.cs') diff --git a/Tools/Hazel-Networking/Hazel.UnitTests/UdpConnectionTestHarness.cs b/Tools/Hazel-Networking/Hazel.UnitTests/UdpConnectionTestHarness.cs new file mode 100644 index 0000000..1e865a8 --- /dev/null +++ b/Tools/Hazel-Networking/Hazel.UnitTests/UdpConnectionTestHarness.cs @@ -0,0 +1,60 @@ +using Hazel.Udp; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hazel.UnitTests +{ + internal class UdpConnectionTestHarness : UdpConnection + { + public List BytesSent = new List(); + + public UdpConnectionTestHarness() : base(new TestLogger()) + { + } + + public ushort ReliableReceiveLast => this.reliableReceiveLast; + + + public override void Connect(byte[] bytes = null, int timeout = 5000) + { + this.State = ConnectionState.Connected; + } + + public override void ConnectAsync(byte[] bytes = null) + { + this.State = ConnectionState.Connected; + } + + protected override bool SendDisconnect(MessageWriter writer) + { + lock (this) + { + if (this.State != ConnectionState.Connected) + { + return false; + } + + this.State = ConnectionState.NotConnected; + } + + return true; + } + + protected override void WriteBytesToConnection(byte[] bytes, int length) + { + this.BytesSent.Add(MessageReader.Get(bytes)); + } + + public void Test_Receive(MessageWriter msg) + { + byte[] buffer = new byte[msg.Length]; + Buffer.BlockCopy(msg.Buffer, 0, buffer, 0, msg.Length); + + var data = MessageReader.Get(buffer); + this.HandleReceive(data, data.Length); + } + } +} -- cgit v1.1-26-g67d0