Commit Graph

129 Commits

Author SHA1 Message Date
74db42394a Silence unobserved exceptions in BeginPlayingInternal
Closes #20526.
2022-10-05 14:31:13 +09:00
6840e906e7 watchedUsers -> watchedUsersRefCounts 2022-08-25 09:50:52 +03:00
7e5086c8d7 Fix spectator client not handling multiple watch calls properly 2022-08-24 10:02:21 +03:00
fd09155990 Revert blocking call when sending spectator frames
There are a lot of these requests, and we don't really care about
waiting on them to finish sending. This may have negatively affected
send performance for users with very high latency.

Reverts part of 0533249d11.

Addresses concerns in https://github.com/ppy/osu/discussions/19429#discussioncomment-3276400.
2022-07-29 12:24:54 +09:00
e0266b0d81 Reword comment slightly 2022-07-25 04:39:14 +03:00
f5a5887669 Fix players potentially not displaying in spectator after restart 2022-07-25 04:21:53 +03:00
12e5bc3f3d Fix BeginPlayingInternal firing actual errors when beatmap not available online 2022-07-19 17:14:57 +09:00
c07f78409e Merge pull request #19189 from peppy/peform-actions-after-reconnect
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
0533249d11 Update all OnlineSpectatorCalls to InvokeAsync 2022-07-18 14:34:02 +09:00
da7edd5d49 Perform actions after server reconnection 2022-07-17 21:09:48 +09:00
8e7e1e6b51 Fix spectator client not correctly reconnecting after shutdown 2022-07-17 21:07:11 +09:00
8c2f4b48fc Use debug.assert for better readable. 2022-07-03 19:27:56 +08:00
0a1543c6e8 Use AsNonNull() instead. 2022-07-02 19:48:32 +08:00
c6d0f0f81b pretend that the beatmap property will not be null.
Not really throw exception will be the better way?
2022-07-02 13:20:46 +08:00
22b254e5c5 Handle task exception outside of schedule to avoid unobserved exceptions 2022-06-28 15:09:28 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
5245995689 Use IsNotNull() helper 2022-06-03 19:50:21 +09:00
4d9a77bdc0 Stop using Drawable.Clock altogether 2022-06-02 15:02:50 +09:00
6fb1fe06a0 Remove unnecessary ApplyBeatmap call 2022-06-02 14:47:04 +09:00
13d85b8cc7 Merge branch 'scoreprocessor-cleanup' into multiplayer-leaderboard-user-mods-2 2022-05-31 19:53:37 +09:00
22d998dc2a Use new score processor in MultiplayerGameplayLeaderboard 2022-05-30 19:26:26 +09:00
75b50de269 Implement score processor for spectator states 2022-05-30 19:26:26 +09:00
a052e09ac3 Send ScoreProcessor statistics in SpectatorState 2022-05-30 19:26:26 +09:00
abb69a49b0 Handle server shutdown messages in room creation and spectator initialisation 2022-05-26 18:03:41 +09:00
09d560c93e Add test coverage of spectator requests 2022-04-11 19:27:14 +09:00
34457b4742 Expose mocked members as virtual on Multiplayer and SpectatorClient 2022-04-11 19:04:15 +09:00
67082b8c5d Remove verbose logging from SpectatorClient for now 2022-02-25 22:25:36 +09:00
8eef1774d5 Use Logger.Log instead of console 2022-02-25 20:18:22 +09:00
3f2ef030e4 Group SpectatorClient private fields together 2022-02-24 02:31:55 +09:00
5ffdd57895 Rename weirdly named parameter 2022-02-24 02:28:13 +09:00
694c6ad872 Fix frames potentially getting lost due to non-matching Schedule usage 2022-02-24 02:28:13 +09:00
47b84295a6 Fix bundle send logic not correctly waiting for task completion (due to nested schedule) 2022-02-24 02:23:48 +09:00
cff6f85472 Add note about reconnection being insufficient currently 2022-02-24 02:23:48 +09:00
5ff4d3f8e5 Add support to SpectatorClient to resend failed frame bundles 2022-02-24 02:21:29 +09:00
28b45fa899 Add assertions against null reference for connection usages 2022-02-15 15:19:50 +09:00
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
c1766d8a41 Add paused state 2022-02-08 20:29:53 +09:00
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
81a22dbd29 Add back playing users list 2022-02-02 23:19:43 +09:00
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
f4210f7a30 Rework spectator components to use new user state 2022-02-01 21:53:25 +09:00
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
397971c631 Change FrameDataBundle.Frames into an IList 2022-01-28 22:06:34 +09:00
7a333ffdcc Add a paired schedule in SpectatorClient.BeginPlaying
Optimally, I would like to remove the `Schedule` in `EndPlaying`, but it
turns out quite a few test are relying on this at very least. Adding a
paired schedule ensure that order of operations is correct, at least.
2021-12-06 17:07:19 +09:00
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00