Documentation ¶
Index ¶
- func MySQLHandlers(ctx *server.EngineCtx, mySQLDSN string, ...) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
- func SQLHandlersFromDialector(dialector gorm.Dialector, gameId string, ...) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
- func SQLHandlersWithDialector(ctx *server.EngineCtx, dialector gorm.Dialector, ...) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
- func SQLiteHandlers(ctx *server.EngineCtx, sqliteDBFilePath string, ...) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
- type MySQLSaveStateHandler
- type MySQLSaveTransactionHandler
- type SQLTransactionTable
- type TableToUpdatesMap
- type TransactionSQLFormat
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MySQLHandlers ¶
func MySQLHandlers(ctx *server.EngineCtx, mySQLDSN string, accessors map[interface{}]*state.TableBaseAccessor[any]) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
initialize and set mySQL handlers to server context
func SQLHandlersFromDialector ¶
func SQLHandlersFromDialector(dialector gorm.Dialector, gameId string, accessors map[interface{}]*state.TableBaseAccessor[any]) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
func SQLHandlersWithDialector ¶ added in v0.1.11
func SQLHandlersWithDialector(ctx *server.EngineCtx, dialector gorm.Dialector, accessors map[interface{}]*state.TableBaseAccessor[any]) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
initialize SQLite handlers through dialector
func SQLiteHandlers ¶
func SQLiteHandlers(ctx *server.EngineCtx, sqliteDBFilePath string, accessors map[interface{}]*state.TableBaseAccessor[any]) (*MySQLSaveStateHandler, *MySQLSaveTransactionHandler, error)
initialize SQLite handler through file path
Types ¶
type MySQLSaveStateHandler ¶
type MySQLSaveStateHandler struct {
// contains filtered or unexported fields
}
func SQLSaveStateHandler ¶
func SQLSaveStateHandler(dialector gorm.Dialector, gameID string, schemasToAccessors map[interface{}]*state.TableBaseAccessor[any]) (*MySQLSaveStateHandler, error)
initialize connection mySQL
func (*MySQLSaveStateHandler) RestoreState ¶
func (m *MySQLSaveStateHandler) RestoreState(ctx *server.EngineCtx, _ string) error
restore state updates from mySQL database
func (*MySQLSaveStateHandler) SaveState ¶
func (m *MySQLSaveStateHandler) SaveState(tableUpdates []state.TableUpdate) error
save state updates to mySQL database
type MySQLSaveTransactionHandler ¶
type MySQLSaveTransactionHandler struct {
// contains filtered or unexported fields
}
func SQLSaveTransactionHandler ¶
func SQLSaveTransactionHandler(dialector gorm.Dialector, gameID string) (*MySQLSaveTransactionHandler, error)
func (*MySQLSaveTransactionHandler) RestoreStateFromTxs ¶
func (h *MySQLSaveTransactionHandler) RestoreStateFromTxs(ctx *server.EngineCtx, tickNumber int, _ string) error
initialize the world to the initial state before calling
func (*MySQLSaveTransactionHandler) SaveTransactions ¶
func (h *MySQLSaveTransactionHandler) SaveTransactions(transactions []server.TransactionSchema) error
type SQLTransactionTable ¶
type SQLTransactionTable struct {
// contains filtered or unexported fields
}
func NewTransactionTable ¶
func NewTransactionTable(db *gorm.DB) (*SQLTransactionTable, error)
func (*SQLTransactionTable) AddEntries ¶
func (t *SQLTransactionTable) AddEntries(entries ...TransactionSQLFormat) error
func (*SQLTransactionTable) GetEntriesUntilTick ¶
func (t *SQLTransactionTable) GetEntriesUntilTick(tickNumber int) ([]TransactionSQLFormat, error)
type TableToUpdatesMap ¶
Click to show internal directories.
Click to hide internal directories.