diff --git a/kcp2k/Assets/Tests/Editor/ClientServerTests.cs b/kcp2k/Assets/Tests/Editor/ClientServerTests.cs index 5de24043..f3848ab0 100644 --- a/kcp2k/Assets/Tests/Editor/ClientServerTests.cs +++ b/kcp2k/Assets/Tests/Editor/ClientServerTests.cs @@ -370,7 +370,7 @@ public void ClientToServerTooLargeReliableMessage() byte[] message = new byte[KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize) + 1]; #if UNITY_2018_3_OR_NEWER - UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Error, new Regex($".*Failed to send reliable message of size {message.Length} because it's larger than ReliableMaxMessageSize={KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize)}")); + UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Warning, new Regex($".*Failed to send reliable message of size {message.Length} because it's larger than ReliableMaxMessageSize={KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize)}")); #endif SendClientToServerBlocking(new ArraySegment(message), KcpChannel.Reliable); Assert.That(serverReceived.Count, Is.EqualTo(0)); @@ -660,7 +660,7 @@ public void ServerToClientTooLargeReliableMessage() byte[] message = new byte[KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize) + 1]; #if UNITY_2018_3_OR_NEWER - UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Error, new Regex($".*Failed to send reliable message of size {message.Length} because it's larger than ReliableMaxMessageSize={KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize)}")); + UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Warning, new Regex($".*Failed to send reliable message of size {message.Length} because it's larger than ReliableMaxMessageSize={KcpConnection.ReliableMaxMessageSize(ReceiveWindowSize)}")); #endif SendServerToClientBlocking(connectionId, new ArraySegment(message), KcpChannel.Reliable); Assert.That(clientReceived.Count, Is.EqualTo(0)); @@ -677,7 +677,7 @@ public void ServerToClientTooLargeUnreliableMessage() byte[] message = new byte[KcpConnection.UnreliableMaxMessageSize + 1]; #if UNITY_2018_3_OR_NEWER - UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Error, new Regex($".*Failed to send unreliable message of size {message.Length} because it's larger than UnreliableMaxMessageSize={KcpConnection.UnreliableMaxMessageSize}")); + UnityEngine.TestTools.LogAssert.Expect(UnityEngine.LogType.Warning, new Regex($".*Failed to send unreliable message of size {message.Length} because it's larger than UnreliableMaxMessageSize={KcpConnection.UnreliableMaxMessageSize}")); #endif SendServerToClientBlocking(connectionId, new ArraySegment(message), KcpChannel.Unreliable); Assert.That(clientReceived.Count, Is.EqualTo(0)); diff --git a/kcp2k/Assets/kcp2k/highlevel/KcpClientConnection.cs b/kcp2k/Assets/kcp2k/highlevel/KcpClientConnection.cs index a843a8dd..da76639a 100644 --- a/kcp2k/Assets/kcp2k/highlevel/KcpClientConnection.cs +++ b/kcp2k/Assets/kcp2k/highlevel/KcpClientConnection.cs @@ -134,10 +134,7 @@ public void RawReceive() // this is fine, the socket might have been closed in the other end catch (SocketException ex) { - // the other end closing the connection is not an 'error'. - // but connections should never just end silently. - // at least log a message for easier debugging. - Log.Info($"KCP ClientConnection: looks like the other end has closed the connection. This is fine: {ex}"); + OnError(ErrorCode.ConnectionClosed, $"KCP ClientConnection: looks like the other end has closed the connection. This is fine: {ex}"); Disconnect(); } } diff --git a/kcp2k/Assets/kcp2k/highlevel/KcpConnection.cs b/kcp2k/Assets/kcp2k/highlevel/KcpConnection.cs index 29402cb1..7d81b5c9 100644 --- a/kcp2k/Assets/kcp2k/highlevel/KcpConnection.cs +++ b/kcp2k/Assets/kcp2k/highlevel/KcpConnection.cs @@ -578,12 +578,12 @@ void SendReliable(KcpHeader header, ArraySegment content) if (sent < 0) { // GetType() shows Server/ClientConn instead of just Connection. - Log.Warning($"{GetType()}: Send failed with error={sent} for content with length={content.Count}"); + OnError(ErrorCode.InvalidSend, $"{GetType()}: Send failed with error={sent} for content with length={content.Count}"); } } // otherwise content is larger than MaxMessageSize. let user know! - // GetType() shows Server/ClientConn instead of just Connection. - else Log.Error($"{GetType()}: Failed to send reliable message of size {content.Count} because it's larger than ReliableMaxMessageSize={ReliableMaxMessageSize(kcp.rcv_wnd)}"); + // GetType() shows Server/ClientConn instead of just Connection. + else OnError(ErrorCode.InvalidSend, $"{GetType()}: Failed to send reliable message of size {content.Count} because it's larger than ReliableMaxMessageSize={ReliableMaxMessageSize(kcp.rcv_wnd)}"); } void SendUnreliable(ArraySegment message)