c5fa818630
Actually handle case of failing to achieve lock on SemaphoreSlim
2021-02-05 14:08:13 +09:00
cd67fe1091
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-02-05 14:04:57 +09:00
9c4c47599f
Merge branch 'master' into freemods
2021-02-01 19:28:10 +09:00
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
9ab1ad25eb
Merge branch 'master' into fix-leave-room-race-2
2021-01-30 13:41:04 +01:00
386f9f7842
Fix typos in comments
2021-01-28 22:36:07 +01:00
90a82f986b
Fallback to using json for signalr communication if JIT is unavailable
2021-01-28 16:20:19 +09:00
4d4d97661e
Fix connection loop always getting a cancelled token
2021-01-26 21:26:50 +01:00
b573c96c07
Move disconnect logic inside connection loop to ensure previous connection is disposed
2021-01-26 18:59:42 +09:00
15885c17af
Remove unused usings
2021-01-26 18:07:43 +09:00
20cfa991bf
Switch clients to MessagePack mode
2021-01-26 17:41:21 +09:00
964976f604
Use a task chain and fix potential misordering of events
2021-01-25 21:01:39 +09:00
0f09a7feb9
Avoid semaphore potentially getting held forever
2021-01-25 17:17:04 +09:00
994fb2667d
Call DisposeAsync instead of StopAsync
2021-01-25 17:11:04 +09:00
c05ae3497a
Make connect/disconnect private
2021-01-25 17:02:24 +09:00
d24d236468
Make OperationCanceledException throwing behaviour consistent
2021-01-22 14:34:58 +09:00
9f89b4e6d7
Rewrite connection logic to better handle failure cases
...
The main goal here is to ensure the connection is built each connection
attempt. Previously, the access token would never be updated, leading to
outdated tokens failing repeatedly (in the connection retry loop) and
never being able to establish a new connection as a result.
Due to threading considerations, this isn't as simple as I would hope it
to be. I'm open to proposals as to a better way of handling this.
Also, keep in mind that this logic will need to be abstracted and
(re)used in `SpectatorClient` as well. I've intentionally not done that
yet until we agree that this is a good direction forward.
2021-01-22 14:25:23 +09:00
e005a1cc9f
Remove unnecessary condition blocking the part
2021-01-20 20:16:34 +09:00
88abee705b
Add missing event mapping for user beatmap availability change
2021-01-18 10:49:02 +03:00
dfa8be9173
Add beatmap availability change state & event methods
2021-01-03 05:48:49 +03:00
72a6ca7755
Allow signalr to retry connecting when connection is closed without an exception
2021-01-02 16:47:00 +09:00
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00