Remove uses of Task

This commit is contained in:
Christoph Hagen
2023-11-01 11:52:04 +01:00
parent aa474c365f
commit f3c59e0f3f
5 changed files with 38 additions and 37 deletions

View File

@ -207,18 +207,18 @@ final class SQLiteDatabase {
playerNameForToken[token] != nil
}
func startSession(socket: WebSocket, sessionToken token: SessionToken) -> Bool {
func startSession(socket: WebSocket, sessionToken token: SessionToken) async -> Bool {
guard let player = playerNameForToken[token] else {
return false
}
return tables.connect(player: player, using: socket)
return await tables.connect(player: player, using: socket)
}
func endSession(forSessionToken sessionToken: SessionToken) {
func endSession(forSessionToken sessionToken: SessionToken) async {
guard let player = endExistingSession(forSessionToken: sessionToken) else {
return
}
tables.disconnect(player: player)
await tables.disconnect(player: player)
}
private func endExistingSession(forSessionToken token: SessionToken) -> PlayerName? {
@ -320,7 +320,7 @@ final class SQLiteDatabase {
return try await tables.play(card: card, player: player, in: database)
}
func disconnectAllSockets() {
tables.disconnectAllSockets()
func disconnectAllSockets() async {
await tables.disconnectAllSockets()
}
}

View File

@ -172,25 +172,21 @@ final class TableManagement {
try await player.update(on: database)
}
func connect(player: PlayerName, using socket: WebSocket) -> Bool {
func connect(player: PlayerName, using socket: WebSocket) async -> Bool {
guard let table = currentTable(for: player) else {
return false
}
let result = table.connect(player: player, using: socket)
Task {
await logConnectedPlayerCount()
}
await logConnectedPlayerCount()
return result
}
func disconnect(player: PlayerName) {
func disconnect(player: PlayerName) async {
guard let table = currentTable(for: player) else {
return
}
table.disconnect(player: player)
Task {
await logConnectedPlayerCount()
}
await logConnectedPlayerCount()
}
func performAction(player: PlayerName, action: PlayerAction) -> PlayerActionResult {
@ -257,10 +253,8 @@ final class TableManagement {
return .success
}
func disconnectAllSockets() {
func disconnectAllSockets() async {
tables.values.forEach { $0.disconnectAllPlayers() }
Task {
await logConnectedPlayerCount()
}
await logConnectedPlayerCount()
}
}