repo

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CharsPreparedStatements

type CharsPreparedStatements uint32

CharsPreparedStatements represents prepared statements for the characters database. Implements sharedrepo.PreparedStatement interface.

const (
	// StmtGetMaxCharacterGUID returns max GUID for characters table.
	StmtGetMaxCharacterGUID CharsPreparedStatements = iota

	// StmtGetMaxItemGUID returns max GUID for item_instance table.
	StmtGetMaxItemGUID

	// StmtGetMaxInstanceGUID returns max GUID for instance table.
	StmtGetMaxInstanceGUID
)

func (CharsPreparedStatements) ID

ID returns identifier of prepared statement.

func (CharsPreparedStatements) Stmt

Stmt returns prepared statement as string.

type MaxGuidProvider

type MaxGuidProvider interface {
	// MaxGuidForCharacters returns max guid for characters.
	MaxGuidForCharacters(ctx context.Context, realmID uint32) (uint64, error)

	// MaxGuidForItems returns max guid for items.
	MaxGuidForItems(ctx context.Context, realmID uint32) (uint64, error)

	// MaxGuidForInstances returns max guid for dungeon/raid instance.
	MaxGuidForInstances(ctx context.Context, realmID uint32) (uint64, error)
}

func NewMysqlMaxGuidRepo

func NewMysqlMaxGuidRepo(db shrepo.CharactersDB) (MaxGuidProvider, error)

type MaxGuidStorage

type MaxGuidStorage interface {
	MaxGuidProvider

	// SetMaxGuidForCharacters sets max guid for characters. Unsafe for concurrent usage. Use IncreaseMaxGuidForCharacters instead.
	SetMaxGuidForCharacters(ctx context.Context, realmID uint32, value uint64) error

	// SetMaxGuidForItems sets max guid for items. Unsafe for concurrent usage. Use IncreaseMaxGuidForItems instead.
	SetMaxGuidForItems(ctx context.Context, realmID uint32, value uint64) error

	// SetMaxGuidForInstances sets max guid for dungeon/raid instance. Unsafe for concurrent usage. Use IncreaseMaxGuidForItems instead.
	SetMaxGuidForInstances(ctx context.Context, realmID uint32, value uint64) error

	// IncreaseMaxGuidForCharacters increases max character guid to increaseAmount value and returns new max guid.
	IncreaseMaxGuidForCharacters(ctx context.Context, realmID uint32, increaseAmount uint64) (uint64, error)

	// IncreaseMaxGuidForItems increases max item guid to increaseAmount value and returns new max guid.
	IncreaseMaxGuidForItems(ctx context.Context, realmID uint32, increaseAmount uint64) (uint64, error)

	// IncreaseMaxGuidForInstances increases max dungeon/raid instance guid to increaseAmount value and returns new max guid.
	IncreaseMaxGuidForInstances(ctx context.Context, realmID uint32, increaseAmount uint64) (uint64, error)
}

func NewRedisMaxGuidStorage

func NewRedisMaxGuidStorage(rdb *redis.Client, optimisticLockRetriesCount int) MaxGuidStorage

NewRedisMaxGuidStorage returns new redis max guids storage.

Jump to

Keyboard shortcuts

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