db

package
v0.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

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

type TableToUpdatesMap map[string][]any

type TransactionSQLFormat

type TransactionSQLFormat struct {
	GameId string

	// unix in nano seconds
	UnixTimestamp int `gorm:"primaryKey;autoIncrement:false"`

	// which tick it was registered at
	Tick int

	// serialized data string
	Data string

	Type string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL