23 lines
698 B
Kotlin
23 lines
698 B
Kotlin
package de.pheerai.buzzer.handlers
|
|
|
|
import de.pheerai.buzzer.data.PlayerSocket
|
|
import de.pheerai.buzzer.data.SessionStorage
|
|
import io.ktor.websocket.*
|
|
import kotlinx.coroutines.isActive
|
|
import org.slf4j.Logger
|
|
|
|
suspend fun WebSocketSession.handlePlayerSocket(log: Logger) {
|
|
SessionStorage.playerSessions.add(PlayerSocket(this))
|
|
for (frame in incoming) {
|
|
when (frame) {
|
|
is Frame.Text -> {
|
|
val text = frame.readText()
|
|
log.info("Username: $text")
|
|
SessionStorage.gameModeratorSessions.filter { it.session.isActive }
|
|
.forEach { it.session.send(text) }
|
|
}
|
|
else -> {}
|
|
}
|
|
}
|
|
}
|