InMemoryBattleSessionStore.kt

package io.github.lishangbu.avalon.game.battle.engine.adapter.memory.store

import io.github.lishangbu.avalon.game.battle.engine.core.session.BattleSession
import io.github.lishangbu.avalon.game.battle.engine.spi.store.BattleSessionStore
import java.util.concurrent.ConcurrentHashMap

/**
 * BattleSession 的内存存储实现。
 */
class InMemoryBattleSessionStore : BattleSessionStore {
    private val sessions: MutableMap<String, BattleSession> = ConcurrentHashMap()

    override fun save(
        sessionId: String,
        session: BattleSession,
    ) {
        sessions[sessionId] = session
    }

    override fun find(sessionId: String): BattleSession? = sessions[sessionId]

    override fun remove(sessionId: String) {
        sessions.remove(sessionId)
    }
}