Skip to content

Commit ae66051

Browse files
Merge branch 'develop' into renovate/develop-recipeengine.modules.wrench-0.x
2 parents ee65309 + bfbe107 commit ae66051

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

com.unity.netcode.gameobjects/Tests/Runtime/Messaging/NamedMessageTests.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,5 +279,38 @@ public unsafe void ErrorMessageIsPrintedWhenAttemptingToSendNamedMessageWithTooB
279279
Assert.IsTrue(message.Contains($"Given message size ({msgSize} bytes) is greater than the maximum"), $"Unexpected exception: {message}");
280280
}
281281
}
282+
283+
[Test]
284+
public void NamedMessageHandlerIsUnregisteredWithoutException()
285+
{
286+
var messageName = Guid.NewGuid().ToString();
287+
const int numMessagesToSend = 3;
288+
const int expectedMessageHandlerCallCount = 1;
289+
290+
var messageHandlerCalled = 0;
291+
m_ServerNetworkManager.CustomMessagingManager.RegisterNamedMessageHandler(
292+
messageName,
293+
(_, _) =>
294+
{
295+
messageHandlerCalled++;
296+
m_ServerNetworkManager.CustomMessagingManager.UnregisterNamedMessageHandler(messageName);
297+
});
298+
299+
var messageContent = new ForceNetworkSerializeByMemcpy<Guid>(Guid.NewGuid());
300+
var writer = new FastBufferWriter(1300, Allocator.Temp);
301+
using (writer)
302+
{
303+
writer.WriteValueSafe(messageContent);
304+
for (var i = 0; i < numMessagesToSend; i++)
305+
{
306+
m_ServerNetworkManager.CustomMessagingManager.SendNamedMessage(
307+
messageName,
308+
m_ServerNetworkManager.LocalClientId,
309+
writer);
310+
}
311+
}
312+
313+
Assert.AreEqual(expectedMessageHandlerCallCount, messageHandlerCalled);
314+
}
282315
}
283316
}

pvpExceptions.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,7 @@
860860
"Unity.Netcode.RuntimeTests.NamedMessageTests: IEnumerator WhenSendingNamedMessageToAll_AllClientsReceiveIt(): undocumented",
861861
"Unity.Netcode.RuntimeTests.NamedMessageTests: void WhenSendingNamedMessageToNullClientList_ArgumentNullExceptionIsThrown(): undocumented",
862862
"Unity.Netcode.RuntimeTests.NamedMessageTests: void ErrorMessageIsPrintedWhenAttemptingToSendNamedMessageWithTooBigBuffer(): undocumented",
863+
"Unity.Netcode.RuntimeTests.NamedMessageTests: void NamedMessageHandlerIsUnregisteredWithoutException(): undocumented",
863864
"Unity.Netcode.RuntimeTests.UnnamedMessageTests: undocumented",
864865
"Unity.Netcode.RuntimeTests.UnnamedMessageTests: NumberOfClients: undocumented",
865866
"Unity.Netcode.RuntimeTests.UnnamedMessageTests: IEnumerator UnnamedMessageIsReceivedOnClientWithContent(): undocumented",

0 commit comments

Comments
 (0)