Commit Graph

3743 Commits

Author SHA1 Message Date
Robin Rolf
ef1f1a55f1
Add (failing) test for large timestamp serialization (#2814)
* Add test for large timestamp serialization

* Update Assets/Mirror/Tests/Runtime/NetworkIdentityTests.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-07 19:42:56 +08:00
vis2k
92d4429c55 add comments 2021-07-07 12:23:29 +08:00
vis2k
80387ffa03
fix: nimoyd unbatcher InvalidOperationException (#2812) 2021-07-07 11:48:51 +08:00
vis2k
1100af2ae0 rename 2021-07-07 11:24:37 +08:00
vis2k
fe7ed2ace1 Tests: nimoyd unbatcher repro 2021-07-07 11:23:18 +08:00
MrGadget1024
fb608d685a fix: Fixed additive scenes on host client
- This was broken by #a0f5a846
2021-07-06 12:07:36 -04:00
Eunseop Shim
c0a5dff95f
Use Debug.LogException for NetworkBehaviour error messages (#2803) 2021-07-02 10:10:13 +08:00
MrGadget1024
357ef138c9 code style 2021-06-30 13:17:44 -04:00
MrGadget1024
5b9c7e11d5 syntax 2021-06-30 13:14:36 -04:00
MrGadget1024
6bb97abd2d fix: fixed order of fields in NT Base 2021-06-30 11:26:31 -04:00
MrGadget1024
b86c8615f4 fix: Added null check and error logging to OnDeserializeAllSafely 2021-06-30 00:41:56 -04:00
MrGadget
a0f5a846d7
fix: OnClientChangeScene not firing for host client (#2801) 2021-06-30 10:56:50 +08:00
MrGadget
57d1892433
fix: Avoid NRE in UnpackAndInvoke (#2800)
Client message handlers may call conn.Disconnect, which will make connection = null, so we must check for that after calling `handler.Invoke`.
2021-06-30 10:56:09 +08:00
vis2k
021470360d Tests: WriteUri(null) for https://github.com/vis2k/Mirror/pull/2796/ 2021-06-30 10:54:43 +08:00
MrGadget
e07488d91b
fix: null handling in WriteUri & ReadUri (#2796) 2021-06-30 10:54:06 +08:00
MrGadget1024
b460b90007 fixed deprecation date 2021-06-29 06:07:47 -04:00
MrGadget1024
58c832f614 Removed comment 2021-06-28 07:38:23 -04:00
MrGadget1024
b7e6b6b3bc Added missing Deprecated dates 2021-06-27 13:14:45 -04:00
vis2k
ff218adc17 fix: OverrideVirtualWithBaseCallsBothVirtualAndBase etc. failing tests because Weaver Cmd/Rpc SubstitueMethods couldn't be accessed by inheriting classes 2021-06-26 13:17:18 +08:00
Cooper H
74ae04d222
fix: Weaver Generated Cmd/Rpc should be private (#2799)
* Fix for users calling weaver gen'd methods in the inspector

Forces the new weaver generated method to be private, preventing prevents users from mistakenly calling weaver generated methods in dropdown menus (such as buttons) in the inspector.

* Update Assets/Mirror/Editor/Weaver/Processors/MethodProcessor.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-26 01:45:47 +08:00
MrGadget1024
5528bdd27e Syntax 2021-06-23 23:24:57 -04:00
vis2k
243586254d 'multiple NetworkIdentity components' warning changed to Error to make it more obvious that this breaks a project 2021-06-23 12:45:23 +08:00
MrGadget1024
81854247c7 indention 2021-06-22 12:18:33 -04:00
vis2k
bb559b88eb NetworkIdentity: fix define order for SceneManagement and use elif 2021-06-22 22:15:06 +08:00
vis2k
d7373ff175 remove unused imports 2021-06-22 21:25:11 +08:00
vis2k
25e13cb6ec Tests: UtilsTest.GetTrueRandomUInt 2021-06-22 19:10:24 +08:00
vis2k
b309f546ca NetworkIdentity: #if UNITY_2021_2 support when importing SceneManagent to avoid AutoUpgrader modifying NetworkIdentity 2021-06-22 19:06:30 +08:00
MrGadget
92334ba2aa
fix: Don't call FinishLoadScene when customHandling (#2794)
* fix: Don't call FinishLoadScene when customHandling
FinishLoadScene will be called from `UpdateScene`  if `loadingSceneAsync != null && loadingSceneAsync.isDone` and it's the responsibility of the user in their custom handler to assign `loadingSceneAsync` to something to block FinishLoadScene until that completes.

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-22 13:29:49 +08:00
vis2k
a6f6dd2b7e MessagePacking.WrapHandler: improve error message when disconnecting a connection because of exceptions. It needs to be obvious that it was disconnected, and why that's a good idea. 2021-06-20 12:10:07 +08:00
vis2k
820c5a6c44 feature: Timestamp Batching #2786 2021-06-20 12:10:07 +08:00
vis2k
e5771c23a0 MessagePacking: MaxMessageSize renamed to MaxContentSize so it's more obvious 2021-06-18 20:10:17 +08:00
vis2k
5644611d5d NetworkServerTest: reuse MessagePacking.MaxMessageSize 2021-06-18 19:34:42 +08:00
vis2k
6ba6543278 MessagePacking: MaxMessageSize property for convenience 2021-06-18 19:31:38 +08:00
vis2k
15e3b3b11d MessagePacking.HeaderSize made public for convenience 2021-06-18 19:30:38 +08:00
vis2k
64040536a6 NetworkConnectionToClient/Server.Update common code moved to NetworkConnection.Update 2021-06-18 18:31:26 +08:00
vis2k
6e9206deab NetworkConnection.SendToTransport abstract; NetworkConnectionToClient/Server.Send(ArraySegment) common code moved into NetworkConnection 2021-06-18 18:31:26 +08:00
vis2k
970c3e8702 syntax 2021-06-18 18:31:02 +08:00
vis2k
cb05c5288b syntax 2021-06-18 18:30:42 +08:00
vis2k
b3b6d04a8b syntax 2021-06-18 18:28:04 +08:00
vis2k
33318555fe add comments 2021-06-18 18:21:14 +08:00
vis2k
bbde7edc1d add comments 2021-06-18 18:18:51 +08:00
vis2k
34492c5097 NetworkConnectionToClient/Server: Validate packet size again before passing batch to transport 2021-06-18 17:19:09 +08:00
vis2k
4382eb0f6e syntax 2021-06-18 16:58:45 +08:00
vis2k
8338d02301 syntax 2021-06-18 16:48:59 +08:00
vis2k
651020852b syntax 2021-06-18 16:45:04 +08:00
vis2k
caf143f4d7 update comment 2021-06-18 16:44:38 +08:00
vis2k
227efb6c7a NetworkConnection.ValidatePacketSize: syntax 2021-06-18 16:41:40 +08:00
vis2k
d818b2d4aa Tests: MemoryTransport guarantees max message size just like a real transport would. Guarantees that even if Mirror tests have max message size issues, transport would catch it. 2021-06-18 15:55:52 +08:00
vis2k
0cce4962d2 NetworkServerTest: MaxMessageSize + 1 server->client too 2021-06-18 13:58:38 +08:00
vis2k
0d86b2cdde NetworkServerTest: max message size server->client too 2021-06-18 13:57:49 +08:00
vis2k
75b17b9a8d NetworkServerTests: MaxMessageSize + 1 2021-06-18 13:56:27 +08:00
vis2k
4703c5e939 NetworkServerTests: MaxMessageSize 2021-06-18 13:55:44 +08:00
vis2k
e78304c465 NetworkServerTest: VariableSize message size adjusted for WriteBytesAndSize header 2021-06-18 13:51:24 +08:00
vis2k
8ded81fa20 cleanup 2021-06-18 13:03:52 +08:00
vis2k
400d5c7a10 NetworkServerTests: VariableSizedMessage for convenience 2021-06-18 13:02:35 +08:00
vis2k
a568ee4c6f syntax 2021-06-18 12:13:52 +08:00
vis2k
379820c435 NetworkServerTest: send data race test to avoid previous bug where larger batch threshold messages would be sent immediately, out of order 2021-06-18 11:57:01 +08:00
vis2k
e374d21f86 better 2021-06-18 11:55:13 +08:00
vis2k
9bff0abbf3 NetworkServerTest: send data race test to avoid previous bug where larger batch threshold messages would be sent immediately, out of order 2021-06-18 11:54:28 +08:00
vis2k
26a8f19204 remove unnecessary imports 2021-06-18 11:42:54 +08:00
vis2k
75c145b175 replaced all GetMaxBatchSize with GetBatchTreshold everywhere 2021-06-17 20:26:04 +08:00
vis2k
b538285b9d Transport.GetMaxBatchSize obsoleted and replaced by GetBatchThreshold 2021-06-17 20:26:02 +08:00
vis2k
2a563b96df
fix: Batcher 'MaxBatchSize' changed to 'Threshold' to support larger messages too. They simply become large batches, while smaller ones are still fitted into 'Threshold'. fixes data race where larger messages would be sent immediately, while smaller ones would be sent at the end of the frame. prepares for timestamp batching which assumes a timestamp prefix for ALL batches (including larger ones, which previously would be treated as not a batch) (#2787)
* fix: Batcher 'MaxBatchSize' changed to 'Threshold' to support larger messages too. They simply become large batches, while smaller ones are still fitted into 'Threshold'. fixes data race where larger messages would be sent immediately, while smaller ones would be sent at the end of the frame. prepares for timestamp batching which assumes a timestamp prefix for ALL batches (including larger ones, which previously would be treated as not a batch)

* add comment

* better comment

* do-while

* better comment
2021-06-17 19:08:50 +08:00
vis2k
41dc651576 Tests: >= max batch size send test added to NetworkServerTests 2021-06-17 12:31:16 +08:00
vis2k
90d23802ab Tests: >= max batch size send test added to NetworkServerTests 2021-06-17 12:29:46 +08:00
vis2k
9aa34e8dae NetworkClient/NetworkServer OnConnected/OnDisconnected events are now public so that custom NetworkManagers can hook into them too 2021-06-17 11:23:01 +08:00
vis2k
342da4fbc7 remove old comments 2021-06-16 23:04:28 +08:00
vis2k
70bfd3acc1 remove old comment 2021-06-16 18:52:07 +08:00
vis2k
185468ea38 NetworkServerTest: Send_ServerToClientMessage 2021-06-16 17:57:47 +08:00
vis2k
764cd988c5 rename 2021-06-16 17:55:48 +08:00
vis2k
22e6a83f00 NetworkClientTests: remove redundant Send test 2021-06-16 17:54:09 +08:00
vis2k
d07f10b7be use NetworkTime.localTime where local time was previously implied when using NetworkTime.time on the server. for clarity. 2021-06-16 16:58:20 +08:00
vis2k
7aecc2b19a feature: NetworkTime.localTime exposed for double precision alternative to Time.time (needed by timestamp batching) 2021-06-16 16:53:08 +08:00
vis2k
d56c0e0ad8 syntax 2021-06-16 16:50:57 +08:00
vis2k
f2496cf7bc NetworkTime: LocalTime() renamed to .localTime for consistency with .time 2021-06-16 16:50:16 +08:00
vis2k
79c067e4aa MirrorTest: ConnectClientBlockingAuthenticatedAndReady helper function 2021-06-16 12:47:05 +08:00
vis2k
2df5357647 rename 2021-06-16 12:44:13 +08:00
vis2k
b98e01b348 typo 2021-06-16 12:43:40 +08:00
vis2k
890cbba297 NetworkServerTest: SendCommand_RequiresAuthority 2021-06-16 12:43:15 +08:00
vis2k
831a2efda4 MirrorTest: ConnectClientBlocking returns server connection for convenience 2021-06-16 12:41:51 +08:00
vis2k
8720325892 NetworkServerTest: ReadyMessageSetsClientReady() simplified 2021-06-16 12:38:27 +08:00
vis2k
5a9adcd9ed NetworkBehaviourTests: remove redundant SendCommandInternal test 2021-06-16 12:35:44 +08:00
vis2k
501d953216 MirrorTest: ConnectClientBlockingAndAuthenticate helper function 2021-06-16 12:34:44 +08:00
vis2k
def54b85fc NetworkServerTest: [Command] tests use weaved [Command] functions now 2021-06-16 12:31:53 +08:00
vis2k
9df7db3db2 NetworkIdentityTests: remove redundant HandleCommand test 2021-06-16 12:29:27 +08:00
vis2k
56c46abd18 syntax 2021-06-16 12:21:53 +08:00
vis2k
0c13f23798 NetworkServerTest: [Command] with wrong netId 2021-06-16 12:21:15 +08:00
vis2k
7c9fd6d10d NetworkServerTest: [Command] only allowed on owned objects 2021-06-16 12:18:52 +08:00
vis2k
c136c9c7f4 NetworkServerTest: [Command] with multiple components 2021-06-16 12:14:54 +08:00
vis2k
453e94a35d NetworkServerTest: [Command] test simple version 2021-06-16 12:11:27 +08:00
vis2k
e49a5392b3 update comment 2021-06-16 12:07:40 +08:00
vis2k
02399940d1 remove unnecessary 2021-06-16 12:06:00 +08:00
vis2k
3577e187b1 comment 2021-06-16 12:03:44 +08:00
vis2k
f5f60ab177 syntax 2021-06-16 12:02:20 +08:00
vis2k
f80d5fd958 NetworkServerTest: HideForConnection rewritten 2021-06-16 12:01:54 +08:00
vis2k
ba019a678c NetworkServerTest: ShowForConnection rewritten 2021-06-16 11:59:10 +08:00
vis2k
d18472b4d5 remove unnecessary 2021-06-16 11:41:25 +08:00
vis2k
b052e2bd91 NetworkServerTest: remove unused 2021-06-16 11:40:05 +08:00
vis2k
6037e7ac1f NetworkServerTest: replace over engineered test 2021-06-16 11:38:58 +08:00
vis2k
3debc65ffd NetworkServerTest cleanup 2021-06-16 11:28:49 +08:00