From a4638861e3082692dbfc75c054b8da3103308cef Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Tue, 25 Feb 2025 02:39:57 -0800 Subject: [PATCH] null check --- SteamTransport/Client.cs | 15 --------------- SteamTransport/Server.cs | 15 --------------- SteamTransport/SteamTransport.cs | 9 +++++---- 3 files changed, 5 insertions(+), 34 deletions(-) diff --git a/SteamTransport/Client.cs b/SteamTransport/Client.cs index 0b404c1c..970c76c5 100644 --- a/SteamTransport/Client.cs +++ b/SteamTransport/Client.cs @@ -88,20 +88,6 @@ public class Client public void Send(ArraySegment segment, int channelId) { - // from fizzy - var data = new byte[segment.Count]; - Array.Copy(segment.Array, segment.Offset, data, 0, data.Length); - var pinnedArray = GCHandle.Alloc(data, GCHandleType.Pinned); - var pData = pinnedArray.AddrOfPinnedObject(); - - var result = SteamNetworkingSockets.SendMessageToConnection(_conn, pData, (uint)data.Length, Util.MirrorChannel2SendFlag(channelId), out _); - if (result == EResult.k_EResultOK) - _transport.OnClientDataSent?.Invoke(segment, channelId); - else - _transport.OnClientError?.Invoke(TransportError.InvalidSend, $"send returned {result}"); - // i dont think we have to check for disconnect result here since the status change handles that - - /* // use pointer to managed array instead of making copy. is this okay? unsafe { @@ -115,7 +101,6 @@ public class Client // i dont think we have to check for disconnect result here since the status change handles that } } - */ } public void Receive() diff --git a/SteamTransport/Server.cs b/SteamTransport/Server.cs index dffd90f0..424cbf06 100644 --- a/SteamTransport/Server.cs +++ b/SteamTransport/Server.cs @@ -78,20 +78,6 @@ public class Server { var conn = new HSteamNetConnection((uint)connectionId); - // from fizzy - var data = new byte[segment.Count]; - Array.Copy(segment.Array, segment.Offset, data, 0, data.Length); - var pinnedArray = GCHandle.Alloc(data, GCHandleType.Pinned); - var pData = pinnedArray.AddrOfPinnedObject(); - - var result = SteamNetworkingSockets.SendMessageToConnection(conn, pData, (uint)data.Length, Util.MirrorChannel2SendFlag(channelId), out _); - if (result == EResult.k_EResultOK) - _transport.OnServerDataSent?.Invoke(connectionId, segment, channelId); - else - _transport.OnServerError?.Invoke(connectionId, TransportError.InvalidSend, $"send returned {result}"); - // i dont think we have to check for disconnect result here since the status change handles that - - /* // use pointer to managed array instead of making copy. is this okay? unsafe { @@ -105,7 +91,6 @@ public class Server // i dont think we have to check for disconnect result here since the status change handles that } } - */ } public void Receive() diff --git a/SteamTransport/SteamTransport.cs b/SteamTransport/SteamTransport.cs index ce6cab9c..bd9ba1f3 100644 --- a/SteamTransport/SteamTransport.cs +++ b/SteamTransport/SteamTransport.cs @@ -96,23 +96,24 @@ public class SteamTransport : Transport } } + // all of these update functions run all the time, so we must null check public override void ClientEarlyUpdate() { - _client.Receive(); + _client?.Receive(); } public override void ServerEarlyUpdate() { - _server.Receive(); + _server?.Receive(); } public override void ClientLateUpdate() { - _client.Flush(); + _client?.Flush(); } public override void ServerLateUpdate() { - _server.Flush(); + _server?.Flush(); } }