From e79b00eefd77ac8982cf23acf872dbcd3e4e9b31 Mon Sep 17 00:00:00 2001 From: James Frowen Date: Mon, 8 Mar 2021 14:24:39 +0000 Subject: [PATCH] refactor: removing sendasync from networkconnection (#672) BREAKING CHANGE: Removed SendAsync from NetworkConnection. Use Send instead --- Assets/Mirage/Runtime/INetworkConnection.cs | 4 +-- Assets/Mirage/Runtime/NetworkBehaviour.cs | 4 +-- Assets/Mirage/Runtime/NetworkClient.cs | 9 ++----- Assets/Mirage/Runtime/NetworkConnection.cs | 26 +++++-------------- .../Processors/ReaderWriterProcessor.cs | 3 --- 5 files changed, 12 insertions(+), 34 deletions(-) diff --git a/Assets/Mirage/Runtime/INetworkConnection.cs b/Assets/Mirage/Runtime/INetworkConnection.cs index f65ce87e6af..9d6a563863c 100644 --- a/Assets/Mirage/Runtime/INetworkConnection.cs +++ b/Assets/Mirage/Runtime/INetworkConnection.cs @@ -11,9 +11,7 @@ public interface IMessageSender { void Send(T msg, int channelId = Channel.Reliable); - UniTask SendAsync(T msg, int channelId = Channel.Reliable); - - UniTask SendAsync(ArraySegment segment, int channelId = Channel.Reliable); + void Send(ArraySegment segment, int channelId = Channel.Reliable); } /// diff --git a/Assets/Mirage/Runtime/NetworkBehaviour.cs b/Assets/Mirage/Runtime/NetworkBehaviour.cs index fc568b8ebe3..f097d6111a5 100644 --- a/Assets/Mirage/Runtime/NetworkBehaviour.cs +++ b/Assets/Mirage/Runtime/NetworkBehaviour.cs @@ -241,7 +241,7 @@ protected internal void SendServerRpcInternal(Type invokeClass, string cmdName, payload = writer.ToArraySegment() }; - Client.SendAsync(message, channelId).Forget(); + Client.Send(message, channelId); } private void ValidateServerRpc(Type invokeClass, string cmdName, bool requireAuthority) @@ -284,7 +284,7 @@ protected internal UniTask SendServerRpcWithReturn(Type invokeClass, strin payload = writer.ToArraySegment() }; - Client.SendAsync(message, channelId).Forget(); + Client.Send(message, channelId); return task; } diff --git a/Assets/Mirage/Runtime/NetworkClient.cs b/Assets/Mirage/Runtime/NetworkClient.cs index a7a598e92d1..d4c4fd59806 100644 --- a/Assets/Mirage/Runtime/NetworkClient.cs +++ b/Assets/Mirage/Runtime/NetworkClient.cs @@ -253,19 +253,14 @@ public void Disconnect() /// /// /// True if message was sent. - public UniTask SendAsync(T message, int channelId = Channel.Reliable) - { - return Connection.SendAsync(message, channelId); - } - public void Send(T message, int channelId = Channel.Reliable) { Connection.Send(message, channelId); } - public UniTask SendAsync(ArraySegment segment, int channelId = Channel.Reliable) + public void Send(ArraySegment segment, int channelId = Channel.Reliable) { - return Connection.SendAsync(segment, channelId); + Connection.Send(segment, channelId); } internal void Update() diff --git a/Assets/Mirage/Runtime/NetworkConnection.cs b/Assets/Mirage/Runtime/NetworkConnection.cs index fdcbc752696..71e72b1997d 100644 --- a/Assets/Mirage/Runtime/NetworkConnection.cs +++ b/Assets/Mirage/Runtime/NetworkConnection.cs @@ -179,18 +179,6 @@ public void ClearHandlers() messageHandlers.Clear(); } - /// - /// This sends a network message to the connection. - /// - /// The message type - /// The message to send - /// The transport layer channel to send on. - /// - public virtual void Send(T msg, int channelId = Channel.Reliable) - { - SendAsync(msg, channelId).Forget(); - } - public static void Send(IEnumerable connections, T msg, int channelId = Channel.Reliable) { using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) @@ -203,7 +191,7 @@ public static void Send(IEnumerable connections, T msg, i foreach (INetworkConnection conn in connections) { // send to all connections, but don't wait for them - conn.SendAsync(segment, channelId).Forget(); + conn.Send(segment, channelId); count++; } @@ -212,28 +200,28 @@ public static void Send(IEnumerable connections, T msg, i } /// - /// This sends a network message to the connection. You can await it to check for errors + /// This sends a network message to the connection. /// /// The message type /// The message to send. /// The transport layer channel to send on. /// - public virtual UniTask SendAsync(T msg, int channelId = Channel.Reliable) + public virtual void Send(T msg, int channelId = Channel.Reliable) { using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) { // pack message and send allocation free MessagePacker.Pack(msg, writer); NetworkDiagnostics.OnSend(msg, channelId, writer.Length, 1); - return SendAsync(writer.ToArraySegment(), channelId); + Send(writer.ToArraySegment(), channelId); } } // internal because no one except Mirage should send bytes directly to // the client. they would be detected as a message. send messages instead. - public UniTask SendAsync(ArraySegment segment, int channelId = Channel.Reliable) + public void Send(ArraySegment segment, int channelId = Channel.Reliable) { - return connection.SendAsync(segment, channelId); + connection.SendAsync(segment, channelId); } @@ -429,7 +417,7 @@ public void SendNotify(T msg, object token, int channelId = Channel.Unreliabl MessagePacker.Pack(notifyPacket, writer); MessagePacker.Pack(msg, writer); NetworkDiagnostics.OnSend(msg, channelId, writer.Length, 1); - SendAsync(writer.ToArraySegment(), channelId).Forget(); + Send(writer.ToArraySegment(), channelId); lastNotifySentTime = Time.unscaledTime; } diff --git a/Assets/Mirage/Weaver/Processors/ReaderWriterProcessor.cs b/Assets/Mirage/Weaver/Processors/ReaderWriterProcessor.cs index 850bf5b23a5..65058c7a5a1 100644 --- a/Assets/Mirage/Weaver/Processors/ReaderWriterProcessor.cs +++ b/Assets/Mirage/Weaver/Processors/ReaderWriterProcessor.cs @@ -221,15 +221,12 @@ private static bool IsMessageMethod(MethodReference method) method.Is(typeof(MessagePacker), nameof(MessagePacker.GetId)) || method.Is(typeof(MessagePacker), nameof(MessagePacker.Unpack)) || method.Is(nameof(IMessageSender.Send)) || - method.Is(nameof(IMessageSender.SendAsync)) || method.Is(nameof(IMessageReceiver.RegisterHandler)) || method.Is(nameof(IMessageReceiver.UnregisterHandler)) || method.Is(nameof(NetworkConnection.Send)) || - method.Is(nameof(NetworkConnection.SendAsync)) || method.Is(nameof(NetworkConnection.RegisterHandler)) || method.Is(nameof(NetworkConnection.UnregisterHandler)) || method.Is(nameof(NetworkClient.Send)) || - method.Is(nameof(NetworkClient.SendAsync)) || method.Is(nameof(NetworkServer.SendToAll)) || method.Is(nameof(INetworkServer.SendToAll)); }