bolt

package
v0.0.0-...-6b15219 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package bolt provides a bolt-backed database that implements both boardgame.StorageManager and boardgame/server.StorageManager.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type StorageManager

type StorageManager struct {
	// contains filtered or unexported fields
}

StorageManager is the main object that implements StorageManager and api.StorageManager. Get a new one from NewStorageManager.

func NewStorageManager

func NewStorageManager(fileName string) *StorageManager

NewStorageManager returns a new StorageManager ready for use, backed by the boltDB that exists at that filename, relative to current directory. Will create that file if it doesn't exist.

func (*StorageManager) AgentState

func (s *StorageManager) AgentState(gameID string, player boardgame.PlayerIndex) ([]byte, error)

AgentState implements that method from the main storagemanager interface

func (*StorageManager) AllGames

func (s *StorageManager) AllGames() []*boardgame.GameStorageRecord

AllGames implements the extra method necessary for storage/internal/helpers

func (*StorageManager) CleanUp

func (s *StorageManager) CleanUp()

CleanUp removes the backing file

func (*StorageManager) Close

func (s *StorageManager) Close()

Close closes the handle to the bolt db

func (*StorageManager) CombinedGame

CombinedGame implements that method from the server api storagemanager interface

func (*StorageManager) Connect

func (s *StorageManager) Connect(config string) error

Connect is a no op

func (*StorageManager) ConnectCookieToUser

func (s *StorageManager) ConnectCookieToUser(cookie string, user *users.StorageRecord) error

ConnectCookieToUser implements that method from the server api storagemanager interface

func (*StorageManager) ExtendedGame

func (s *StorageManager) ExtendedGame(id string) (*extendedgame.StorageRecord, error)

ExtendedGame implements that method from the server api storagemanager interface

func (*StorageManager) FetchInjectedDataForGame

func (s *StorageManager) FetchInjectedDataForGame(gameID string, dataType string) interface{}

FetchInjectedDataForGame can just return nil

func (*StorageManager) Game

Game implements that method from the main storagemanager interface

func (*StorageManager) GetUserByCookie

func (s *StorageManager) GetUserByCookie(cookie string) *users.StorageRecord

GetUserByCookie implements that method from the server api storagemanager interface

func (*StorageManager) GetUserByID

func (s *StorageManager) GetUserByID(uid string) *users.StorageRecord

GetUserByID implements that method from the server api storagemanager interface

func (*StorageManager) ListGames

func (s *StorageManager) ListGames(max int, list listing.Type, userID string, gameType string) []*extendedgame.CombinedStorageRecord

ListGames implements that method from the server api storagemanager interface

func (*StorageManager) Move

func (s *StorageManager) Move(gameID string, version int) (*boardgame.MoveStorageRecord, error)

Move implements that method from the main storagemanager interface

func (*StorageManager) Moves

func (s *StorageManager) Moves(gameID string, fromVersion, toVersion int) ([]*boardgame.MoveStorageRecord, error)

Moves implements that method from the main storagemanager interface

func (*StorageManager) Name

func (s *StorageManager) Name() string

Name returns 'bolt'

func (*StorageManager) PlayerMoveApplied

func (s *StorageManager) PlayerMoveApplied(game *boardgame.GameStorageRecord) error

PlayerMoveApplied is a noop

func (*StorageManager) SaveAgentState

func (s *StorageManager) SaveAgentState(gameID string, player boardgame.PlayerIndex, state []byte) error

SaveAgentState implements that method from the main storagemanager interface

func (*StorageManager) SaveGameAndCurrentState

SaveGameAndCurrentState implements that method from the main storagemanager interface

func (*StorageManager) SetPlayerForGame

func (s *StorageManager) SetPlayerForGame(gameID string, playerIndex boardgame.PlayerIndex, userID string) error

SetPlayerForGame implements that method from the server api storagemanager interface

func (*StorageManager) State

func (s *StorageManager) State(gameID string, version int) (boardgame.StateStorageRecord, error)

State implements that method from the main storagemanager interface

func (*StorageManager) UpdateExtendedGame

func (s *StorageManager) UpdateExtendedGame(id string, eGame *extendedgame.StorageRecord) error

UpdateExtendedGame implements that method from the server api storagemanager interface

func (*StorageManager) UpdateUser

func (s *StorageManager) UpdateUser(user *users.StorageRecord) error

UpdateUser implements that method from the server api storagemanager interface

func (*StorageManager) UserIDsForGame

func (s *StorageManager) UserIDsForGame(gameID string) []string

UserIDsForGame implements that method from the server api storagemanager interface

func (*StorageManager) WithManagers

func (s *StorageManager) WithManagers(managers []*boardgame.GameManager)

WithManagers does nothing.

Jump to

Keyboard shortcuts

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