Dean Herbert
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
Salman Ahmed
e0266b0d81
Reword comment slightly
2022-07-25 04:39:14 +03:00
Salman Ahmed
f5a5887669
Fix players potentially not displaying in spectator after restart
2022-07-25 04:21:53 +03:00
andy840119
8c2f4b48fc
Use debug.assert for better readable.
2022-07-03 19:27:56 +08:00
andy840119
0a1543c6e8
Use AsNonNull()
instead.
2022-07-02 19:48:32 +08:00
andy840119
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
Dean Herbert
22b254e5c5
Handle task exception outside of schedule to avoid unobserved exceptions
2022-06-28 15:09:28 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
13d85b8cc7
Merge branch 'scoreprocessor-cleanup' into multiplayer-leaderboard-user-mods-2
2022-05-31 19:53:37 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3
Send ScoreProcessor statistics in SpectatorState
2022-05-30 19:26:26 +09:00
Dean Herbert
09d560c93e
Add test coverage of spectator requests
2022-04-11 19:27:14 +09:00
Dean Herbert
34457b4742
Expose mocked members as virtual
on Multiplayer
and SpectatorClient
2022-04-11 19:04:15 +09:00
Dean Herbert
67082b8c5d
Remove verbose logging from SpectatorClient
for now
2022-02-25 22:25:36 +09:00
Dan Balasescu
8eef1774d5
Use Logger.Log instead of console
2022-02-25 20:18:22 +09:00
Dean Herbert
3f2ef030e4
Group SpectatorClient
private fields together
2022-02-24 02:31:55 +09:00
Dean Herbert
694c6ad872
Fix frames potentially getting lost due to non-matching Schedule
usage
2022-02-24 02:28:13 +09:00
Dean Herbert
47b84295a6
Fix bundle send logic not correctly waiting for task completion (due to nested schedule)
2022-02-24 02:23:48 +09:00
Dean Herbert
cff6f85472
Add note about reconnection being insufficient currently
2022-02-24 02:23:48 +09:00
Dean Herbert
5ff4d3f8e5
Add support to SpectatorClient
to resend failed frame bundles
2022-02-24 02:21:29 +09:00
Dan Balasescu
ffc4c64f7e
Unify namings across the board
2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6
Refactorings
2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178
Rename completed state to passed
2022-02-08 20:29:49 +09:00
Dan Balasescu
81a22dbd29
Add back playing users list
2022-02-02 23:19:43 +09:00
Dan Balasescu
fcbba3d948
Rename PlayingUserStates -> WatchingUserStates
2022-02-02 23:11:29 +09:00
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dan Balasescu
f4210f7a30
Rework spectator components to use new user state
2022-02-01 21:53:25 +09:00
Dan Balasescu
41007169f7
Give SpectatorState a user state
2022-02-01 21:51:05 +09:00
Dan Balasescu
502e6af008
Remove PlayingUsers list from SpectatorClient
2022-02-01 14:42:30 +09:00
Dan Balasescu
4727aeda01
Give last bundled replay frame the frame header
2022-01-31 18:53:47 +09:00
Dan Balasescu
3037a3a769
Purge final spectator frames before ending play
2022-01-28 22:26:05 +09:00
Dean Herbert
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
Dean Herbert
6a098a8634
Rename BeatmapInfo.OnlineBeatmapID
to OnlineID
to match interface
2021-11-12 17:46:24 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
853cf6feaa
Rename last remaining BeatmapInfo Beatmap
usage
2021-10-04 17:35:53 +09:00
Dean Herbert
32afd3f426
Replace all basic usages
2021-10-02 02:22:23 +09:00
smoogipoo
b807c161b4
Remove now-unused DI params
2021-09-14 17:25:57 +09:00
smoogipoo
6cffbee592
Fix random/target mods not working in spectator
2021-09-14 17:22:58 +09:00
smoogipoo
bca8a9ea53
Fix HandleFrame crashing when not playing
2021-05-31 10:02:02 +09:00
Dean Herbert
20f890cfd0
Merge branch 'master' into fix-spectator-playing-state-5
2021-05-21 16:49:22 +09:00
smoogipoo
7c59fb37f1
Move check into callback
2021-05-21 16:00:58 +09:00
smoogipoo
36aa186c6e
Merge branch 'thread-safe-spectator-client'
2021-05-21 16:00:24 +09:00
smoogipoo
7f712a4d04
Fix EndPlaying potentially doing cross-thread mutation
2021-05-21 15:57:39 +09:00
smoogipoo
2fdf8aa1aa
Add update thread assertions
2021-05-21 15:57:31 +09:00
smoogipoo
895eb14c5a
Forcefully end playing to fix test failures
2021-05-21 14:09:30 +09:00
smoogipoo
e3284b976d
Merge branch 'thread-safe-spectator-client' into fix-spectator-playing-state-5
2021-05-20 19:46:26 +09:00
smoogipoo
06c99e8c7c
Fix race due to StopWatchingUser() being called asynchronously
2021-05-20 19:45:31 +09:00
smoogipoo
7ee81669f7
Remove bind helpers from SpectatorClient
2021-05-20 19:27:43 +09:00
smoogipoo
b515fe3cb1
Fix playing user state not removed on stop watching
2021-05-20 19:20:09 +09:00
smoogipoo
89b4f69588
Expose playing user states as bindable dictionary
2021-05-20 19:19:39 +09:00