Documentation ¶
Index ¶
- Constants
- Variables
- func AddFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func AddGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) error
- func AuthenticateCustom(ctx context.Context, logger *zap.Logger, db *sql.DB, customID, username string, ...) (string, string, bool, error)
- func AuthenticateDevice(ctx context.Context, logger *zap.Logger, db *sql.DB, deviceID, username string, ...) (string, string, bool, error)
- func AuthenticateEmail(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (string, string, bool, error)
- func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateGameCenter(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateSteam(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateUsername(ctx context.Context, logger *zap.Logger, db *sql.DB, username, password string) (string, error)
- func BanUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, ids []string) error
- func BlockFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, currentUser uuid.UUID, ...) error
- func ChannelMessagesList(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.ChannelMessageList, error)
- func CheckConfig(logger *zap.Logger, config Config) map[string]string
- func CreateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.Group, error)
- func DeleteAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func DeleteFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, currentUser uuid.UUID, ...) error
- func DeleteGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uuid.UUID, ...) error
- func DeleteUser(ctx context.Context, tx *sql.Tx, userID uuid.UUID) (int64, error)
- func ExecuteRetryable(fn func() error) error
- func GetAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) (*api.Account, error)
- func GetAccounts(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) ([]*api.Account, error)
- func GetChannelMessages(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.ChannelMessage, error)
- func GetFriendIDs(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) (*api.Friends, error)
- func GetFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) (*api.Friends, error)
- func GetGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, ids []string) ([]*api.Group, error)
- func GetUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) (*api.Users, error)
- func GroupDeleteAll(ctx context.Context, logger *zap.Logger, tx *sql.Tx, userID uuid.UUID) error
- func JoinGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) error
- func KickGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) error
- func LeaderboardRecordDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func LeaderboardRecordReadAll(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.LeaderboardRecord, error)
- func LeaderboardRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecord, error)
- func LeaderboardRecordsDeleteAll(ctx context.Context, logger *zap.Logger, tx *sql.Tx, userID uuid.UUID) error
- func LeaderboardRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.LeaderboardRecord, error)
- func LeaderboardRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecordList, error)
- func LeaveGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uuid.UUID, ...) error
- func ListGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) (*api.GroupUserList, error)
- func ListGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, name string, limit int, ...) (*api.GroupList, error)
- func ListUserGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) (*api.UserGroupList, error)
- func ListWalletLedger(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*walletLedger, error)
- func NewConfig(logger *zap.Logger) *config
- func NewJSONFileLogger(consoleLogger *zap.Logger, fileName string, level zapcore.Level, ...) *zap.Logger
- func NewJSONLogger(output *os.File, level zapcore.Level, format LoggingFormat) *zap.Logger
- func NewMultiLogger(loggers ...*zap.Logger) *zap.Logger
- func NewRotatingJSONFileLogger(consoleLogger *zap.Logger, config Config, level zapcore.Level, ...) *zap.Logger
- func NewRuntimeGoContext(ctx context.Context, env map[string]string, mode RuntimeExecutionMode, ...) context.Context
- func NewRuntimeGoLogger(logger *zap.Logger) runtime.Logger
- func NewRuntimeLuaContext(l *lua.LState, env *lua.LTable, mode RuntimeExecutionMode, ...) *lua.LTable
- func NewRuntimeProviderGo(logger, startupLogger *zap.Logger, db *sql.DB, config Config, ...) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, ...)
- func NewRuntimeProviderLua(logger, startupLogger *zap.Logger, db *sql.DB, ...) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, ...)
- func NewSocketWsAcceptor(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, ...) func(http.ResponseWriter, *http.Request)
- func NotificationDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func NotificationList(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.NotificationList, error)
- func NotificationSave(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func NotificationSend(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func OpenBit32(l *lua.LState) int
- func OpenOs(L *lua.LState) int
- func OpenPackage(moduleCache *RuntimeLuaModuleCache) func(L *lua.LState) int
- func PromoteGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) error
- func RuntimeLuaConvertLuaTable(lv *lua.LTable) map[string]interface{}
- func RuntimeLuaConvertLuaValue(lv lua.LValue) interface{}
- func RuntimeLuaConvertMap(l *lua.LState, data map[string]interface{}) *lua.LTable
- func RuntimeLuaConvertMapString(l *lua.LState, data map[string]string) *lua.LTable
- func RuntimeLuaConvertValue(l *lua.LState, val interface{}) lua.LValue
- func SetupLogging(tmpLogger *zap.Logger, config Config) (*zap.Logger, *zap.Logger)
- func StackdriverLevelEncoder(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder)
- func StackdriverTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
- func StatusError(code codes.Code, msg string, cause error) error
- func StorageDeleteObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritativeDelete bool, ...) (codes.Code, error)
- func StorageListObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.StorageObjectList, codes.Code, error)
- func StorageListObjectsAll(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritative bool, ...) (*api.StorageObjectList, error)
- func StorageListObjectsPublicReadUser(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.StorageObjectList, error)
- func StorageListObjectsUser(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritative bool, ...) (*api.StorageObjectList, error)
- func StorageReadAllUserObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.StorageObject, error)
- func StorageReadObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.StorageObjects, error)
- func StorageWriteObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritativeWrite bool, ...) (*api.StorageObjectAcks, codes.Code, error)
- func StreamToChannelId(stream PresenceStream) (string, error)
- func TournamentAddAttempt(ctx context.Context, logger *zap.Logger, db *sql.DB, cache LeaderboardCache, ...) error
- func TournamentCreate(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, ...) error
- func TournamentDelete(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, ...) error
- func TournamentJoin(ctx context.Context, logger *zap.Logger, db *sql.DB, cache LeaderboardCache, ...) error
- func TournamentList(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.TournamentList, error)
- func TournamentRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecord, error)
- func TournamentRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.LeaderboardRecord, error)
- func UnbanUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, ids []string) error
- func UpdateAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func UpdateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uuid.UUID, ...) error
- func UpdateWalletLedger(ctx context.Context, logger *zap.Logger, db *sql.DB, id uuid.UUID, ...) (*walletLedger, error)
- func UpdateWallets(ctx context.Context, logger *zap.Logger, db *sql.DB, updates []*walletUpdate, ...) error
- func UserExistsAndDoesNotBlock(ctx context.Context, db *sql.DB, checkUserID, blocksUserID uuid.UUID) (bool, error)
- type ApiServer
- func (s *ApiServer) AddFriends(ctx context.Context, in *api.AddFriendsRequest) (*empty.Empty, error)
- func (s *ApiServer) AddGroupUsers(ctx context.Context, in *api.AddGroupUsersRequest) (*empty.Empty, error)
- func (s *ApiServer) AuthenticateCustom(ctx context.Context, in *api.AuthenticateCustomRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateDevice(ctx context.Context, in *api.AuthenticateDeviceRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateEmail(ctx context.Context, in *api.AuthenticateEmailRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateFacebook(ctx context.Context, in *api.AuthenticateFacebookRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateGameCenter(ctx context.Context, in *api.AuthenticateGameCenterRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateGoogle(ctx context.Context, in *api.AuthenticateGoogleRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateSteam(ctx context.Context, in *api.AuthenticateSteamRequest) (*api.Session, error)
- func (s *ApiServer) BlockFriends(ctx context.Context, in *api.BlockFriendsRequest) (*empty.Empty, error)
- func (s *ApiServer) CreateGroup(ctx context.Context, in *api.CreateGroupRequest) (*api.Group, error)
- func (s *ApiServer) DeleteFriends(ctx context.Context, in *api.DeleteFriendsRequest) (*empty.Empty, error)
- func (s *ApiServer) DeleteGroup(ctx context.Context, in *api.DeleteGroupRequest) (*empty.Empty, error)
- func (s *ApiServer) DeleteLeaderboardRecord(ctx context.Context, in *api.DeleteLeaderboardRecordRequest) (*empty.Empty, error)
- func (s *ApiServer) DeleteNotifications(ctx context.Context, in *api.DeleteNotificationsRequest) (*empty.Empty, error)
- func (s *ApiServer) DeleteStorageObjects(ctx context.Context, in *api.DeleteStorageObjectsRequest) (*empty.Empty, error)
- func (s *ApiServer) GetAccount(ctx context.Context, in *empty.Empty) (*api.Account, error)
- func (s *ApiServer) GetUsers(ctx context.Context, in *api.GetUsersRequest) (*api.Users, error)
- func (s *ApiServer) Healthcheck(ctx context.Context, in *empty.Empty) (*empty.Empty, error)
- func (s *ApiServer) ImportFacebookFriends(ctx context.Context, in *api.ImportFacebookFriendsRequest) (*empty.Empty, error)
- func (s *ApiServer) JoinGroup(ctx context.Context, in *api.JoinGroupRequest) (*empty.Empty, error)
- func (s *ApiServer) JoinTournament(ctx context.Context, in *api.JoinTournamentRequest) (*empty.Empty, error)
- func (s *ApiServer) KickGroupUsers(ctx context.Context, in *api.KickGroupUsersRequest) (*empty.Empty, error)
- func (s *ApiServer) LeaveGroup(ctx context.Context, in *api.LeaveGroupRequest) (*empty.Empty, error)
- func (s *ApiServer) LinkCustom(ctx context.Context, in *api.AccountCustom) (*empty.Empty, error)
- func (s *ApiServer) LinkDevice(ctx context.Context, in *api.AccountDevice) (*empty.Empty, error)
- func (s *ApiServer) LinkEmail(ctx context.Context, in *api.AccountEmail) (*empty.Empty, error)
- func (s *ApiServer) LinkFacebook(ctx context.Context, in *api.LinkFacebookRequest) (*empty.Empty, error)
- func (s *ApiServer) LinkGameCenter(ctx context.Context, in *api.AccountGameCenter) (*empty.Empty, error)
- func (s *ApiServer) LinkGoogle(ctx context.Context, in *api.AccountGoogle) (*empty.Empty, error)
- func (s *ApiServer) LinkSteam(ctx context.Context, in *api.AccountSteam) (*empty.Empty, error)
- func (s *ApiServer) ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
- func (s *ApiServer) ListFriends(ctx context.Context, in *empty.Empty) (*api.Friends, error)
- func (s *ApiServer) ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest) (*api.GroupUserList, error)
- func (s *ApiServer) ListGroups(ctx context.Context, in *api.ListGroupsRequest) (*api.GroupList, error)
- func (s *ApiServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
- func (s *ApiServer) ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
- func (s *ApiServer) ListMatches(ctx context.Context, in *api.ListMatchesRequest) (*api.MatchList, error)
- func (s *ApiServer) ListNotifications(ctx context.Context, in *api.ListNotificationsRequest) (*api.NotificationList, error)
- func (s *ApiServer) ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
- func (s *ApiServer) ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
- func (s *ApiServer) ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
- func (s *ApiServer) ListTournaments(ctx context.Context, in *api.ListTournamentsRequest) (*api.TournamentList, error)
- func (s *ApiServer) ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest) (*api.UserGroupList, error)
- func (s *ApiServer) PromoteGroupUsers(ctx context.Context, in *api.PromoteGroupUsersRequest) (*empty.Empty, error)
- func (s *ApiServer) ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
- func (s *ApiServer) RpcFunc(ctx context.Context, in *api.Rpc) (*api.Rpc, error)
- func (s *ApiServer) Stop()
- func (s *ApiServer) UnlinkCustom(ctx context.Context, in *api.AccountCustom) (*empty.Empty, error)
- func (s *ApiServer) UnlinkDevice(ctx context.Context, in *api.AccountDevice) (*empty.Empty, error)
- func (s *ApiServer) UnlinkEmail(ctx context.Context, in *api.AccountEmail) (*empty.Empty, error)
- func (s *ApiServer) UnlinkFacebook(ctx context.Context, in *api.AccountFacebook) (*empty.Empty, error)
- func (s *ApiServer) UnlinkGameCenter(ctx context.Context, in *api.AccountGameCenter) (*empty.Empty, error)
- func (s *ApiServer) UnlinkGoogle(ctx context.Context, in *api.AccountGoogle) (*empty.Empty, error)
- func (s *ApiServer) UnlinkSteam(ctx context.Context, in *api.AccountSteam) (*empty.Empty, error)
- func (s *ApiServer) UpdateAccount(ctx context.Context, in *api.UpdateAccountRequest) (*empty.Empty, error)
- func (s *ApiServer) UpdateGroup(ctx context.Context, in *api.UpdateGroupRequest) (*empty.Empty, error)
- func (s *ApiServer) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
- func (s *ApiServer) WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
- func (s *ApiServer) WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
- type ChannelIdToStreamResult
- type Config
- type ConsoleConfig
- type ConsoleServer
- func (s *ConsoleServer) Authenticate(ctx context.Context, in *console.AuthenticateRequest) (*console.ConsoleSession, error)
- func (s *ConsoleServer) BanUser(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteAccount(ctx context.Context, in *console.AccountDeleteRequest) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteFriend(ctx context.Context, in *console.DeleteFriendRequest) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteGroupUser(ctx context.Context, in *console.DeleteGroupUserRequest) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteStorage(ctx context.Context, in *empty.Empty) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteStorageObject(ctx context.Context, in *console.DeleteStorageObjectRequest) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteUsers(ctx context.Context, in *empty.Empty) (*empty.Empty, error)
- func (s *ConsoleServer) DeleteWalletLedger(ctx context.Context, in *console.DeleteWalletLedgerRequest) (*empty.Empty, error)
- func (s *ConsoleServer) ExportAccount(ctx context.Context, in *console.AccountId) (*console.AccountExport, error)
- func (s *ConsoleServer) GetAccount(ctx context.Context, in *console.AccountId) (*api.Account, error)
- func (s *ConsoleServer) GetConfig(ctx context.Context, in *empty.Empty) (*console.Config, error)
- func (s *ConsoleServer) GetFriends(ctx context.Context, in *console.AccountId) (*api.Friends, error)
- func (s *ConsoleServer) GetGroups(ctx context.Context, in *console.AccountId) (*api.UserGroupList, error)
- func (s *ConsoleServer) GetStatus(ctx context.Context, in *empty.Empty) (*console.StatusList, error)
- func (s *ConsoleServer) GetStorage(ctx context.Context, in *api.ReadStorageObjectId) (*api.StorageObject, error)
- func (s *ConsoleServer) GetWalletLedger(ctx context.Context, in *console.AccountId) (*console.WalletLedgerList, error)
- func (s *ConsoleServer) ListStorage(ctx context.Context, in *console.ListStorageRequest) (*console.StorageList, error)
- func (s *ConsoleServer) ListUsers(ctx context.Context, in *console.ListUsersRequest) (*console.UserList, error)
- func (s *ConsoleServer) Stop()
- func (s *ConsoleServer) UnbanUser(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkCustom(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkDevice(ctx context.Context, in *console.UnlinkDeviceRequest) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkEmail(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkFacebook(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkGameCenter(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkGoogle(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UnlinkSteam(ctx context.Context, in *console.AccountId) (*empty.Empty, error)
- func (s *ConsoleServer) UpdateAccount(ctx context.Context, in *console.UpdateAccountRequest) (*empty.Empty, error)
- func (s *ConsoleServer) WriteStorageObject(ctx context.Context, in *console.WriteStorageObjectRequest) (*api.StorageObjectAck, error)
- type DatabaseConfig
- type DeferredMessage
- type LSentinelType
- type Leaderboard
- func (l *Leaderboard) GetAuthoritative() bool
- func (l *Leaderboard) GetCreateTime() int64
- func (l *Leaderboard) GetId() string
- func (l *Leaderboard) GetMetadata() map[string]interface{}
- func (l *Leaderboard) GetOperator() string
- func (l *Leaderboard) GetReset() string
- func (l *Leaderboard) GetSortOrder() string
- func (l *Leaderboard) IsTournament() bool
- type LeaderboardCache
- type LeaderboardConfig
- type LeaderboardRankCache
- type LeaderboardScheduler
- type LeaderboardWithExpiry
- type LocalLeaderboardCache
- func (l *LocalLeaderboardCache) Create(ctx context.Context, id string, authoritative bool, sortOrder, operator int, ...) (*Leaderboard, error)
- func (l *LocalLeaderboardCache) CreateTournament(ctx context.Context, id string, sortOrder, operator int, ...) (*Leaderboard, error)
- func (l *LocalLeaderboardCache) Delete(ctx context.Context, id string) error
- func (l *LocalLeaderboardCache) Get(id string) *Leaderboard
- func (l *LocalLeaderboardCache) GetAllLeaderboards() []*Leaderboard
- func (l *LocalLeaderboardCache) Insert(id string, authoritative bool, sortOrder, operator int, ...)
- func (l *LocalLeaderboardCache) InsertTournament(id string, sortOrder, operator int, ...)
- func (l *LocalLeaderboardCache) RefreshAllLeaderboards(ctx context.Context) error
- func (l *LocalLeaderboardCache) Remove(id string)
- type LocalLeaderboardRankCache
- func (l *LocalLeaderboardRankCache) Delete(leaderboardId string, expiryUnix int64, ownerId uuid.UUID) bool
- func (l *LocalLeaderboardRankCache) DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool
- func (l *LocalLeaderboardRankCache) Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord)
- func (l *LocalLeaderboardRankCache) Get(leaderboardId string, expiryUnix int64, ownerId uuid.UUID) int64
- func (l *LocalLeaderboardRankCache) Insert(leaderboardId string, expiryUnix int64, sortOrder int, ownerId uuid.UUID, ...) int64
- func (l *LocalLeaderboardRankCache) TrimExpired(nowUnix int64) bool
- type LocalLeaderboardScheduler
- type LocalMatchRegistry
- func (r *LocalMatchRegistry) AwaitJoinMarker(ctx context.Context, id uuid.UUID, node string, sessionID uuid.UUID, ...) error
- func (r *LocalMatchRegistry) Count() int
- func (r *LocalMatchRegistry) CreateMatch(ctx context.Context, logger *zap.Logger, createFn RuntimeMatchCreateFunction, ...) (string, error)
- func (r *LocalMatchRegistry) GetMatch(id uuid.UUID) *MatchHandler
- func (r *LocalMatchRegistry) GetMatchLabel(ctx context.Context, id uuid.UUID, node string) (string, error)
- func (r *LocalMatchRegistry) Join(id uuid.UUID, presences []*MatchPresence)
- func (r *LocalMatchRegistry) JoinAttempt(ctx context.Context, id uuid.UUID, node string, userID, sessionID uuid.UUID, ...) (bool, bool, string, string)
- func (r *LocalMatchRegistry) Kick(stream PresenceStream, presences []*MatchPresence)
- func (r *LocalMatchRegistry) Leave(id uuid.UUID, presences []*MatchPresence)
- func (r *LocalMatchRegistry) ListMatches(ctx context.Context, limit int, authoritative *wrappers.BoolValue, ...) ([]*api.Match, error)
- func (r *LocalMatchRegistry) NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, ...) (*MatchHandler, error)
- func (r *LocalMatchRegistry) RemoveMatch(id uuid.UUID, stream PresenceStream)
- func (r *LocalMatchRegistry) SendData(id uuid.UUID, node string, userID, sessionID uuid.UUID, ...)
- func (r *LocalMatchRegistry) Stop(graceSeconds int) chan struct{}
- func (r *LocalMatchRegistry) UpdateMatchLabel(id uuid.UUID, label string) error
- type LocalMatchmaker
- type LocalMessageRouter
- func (r *LocalMessageRouter) SendDeferred(logger *zap.Logger, isStream bool, mode uint8, messages []*DeferredMessage)
- func (r *LocalMessageRouter) SendToPresenceIDs(logger *zap.Logger, presenceIDs []*PresenceID, isStream bool, mode uint8, ...)
- func (r *LocalMessageRouter) SendToStream(logger *zap.Logger, stream PresenceStream, envelope *rtapi.Envelope)
- type LocalSessionRegistry
- func (r *LocalSessionRegistry) Add(session Session)
- func (r *LocalSessionRegistry) Count() int
- func (r *LocalSessionRegistry) Disconnect(ctx context.Context, sessionID uuid.UUID, node string) error
- func (r *LocalSessionRegistry) Get(sessionID uuid.UUID) Session
- func (r *LocalSessionRegistry) Remove(sessionID uuid.UUID)
- func (r *LocalSessionRegistry) Stop()
- type LocalStatusHandler
- type LocalStreamManager
- type LocalTracker
- func (t *LocalTracker) Count() int
- func (t *LocalTracker) CountByStream(stream PresenceStream) int
- func (t *LocalTracker) CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32
- func (t *LocalTracker) GetBySessionIDStreamUserID(node string, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
- func (t *LocalTracker) GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
- func (t *LocalTracker) ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence
- func (t *LocalTracker) ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID
- func (t *LocalTracker) ListNodesForStream(stream PresenceStream) map[string]struct{}
- func (t *LocalTracker) ListPresenceIDByStream(stream PresenceStream) []*PresenceID
- func (t *LocalTracker) SetMatchJoinListener(f func(id uuid.UUID, joins []*MatchPresence))
- func (t *LocalTracker) SetMatchLeaveListener(f func(id uuid.UUID, leaves []*MatchPresence))
- func (t *LocalTracker) Stop()
- func (t *LocalTracker) StreamExists(stream PresenceStream) bool
- func (t *LocalTracker) Track(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, ...) (bool, bool)
- func (t *LocalTracker) Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID)
- func (t *LocalTracker) UntrackAll(sessionID uuid.UUID)
- func (t *LocalTracker) UntrackByStream(stream PresenceStream)
- func (t *LocalTracker) UntrackLocalByStream(stream PresenceStream)
- func (t *LocalTracker) Update(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, ...) bool
- type LoggerConfig
- type LoggingFormat
- type MatchConfig
- type MatchDataMessage
- func (m *MatchDataMessage) GetData() []byte
- func (m *MatchDataMessage) GetHidden() bool
- func (m *MatchDataMessage) GetNodeId() string
- func (m *MatchDataMessage) GetOpCode() int64
- func (m *MatchDataMessage) GetPersistence() bool
- func (m *MatchDataMessage) GetReceiveTime() int64
- func (m *MatchDataMessage) GetSessionId() string
- func (m *MatchDataMessage) GetStatus() string
- func (m *MatchDataMessage) GetUserId() string
- func (m *MatchDataMessage) GetUsername() string
- type MatchHandler
- func (mh *MatchHandler) Close()
- func (mh *MatchHandler) Label() string
- func (mh *MatchHandler) QueueData(m *MatchDataMessage)
- func (mh *MatchHandler) QueueJoin(joins []*MatchPresence) bool
- func (mh *MatchHandler) QueueJoinAttempt(ctx context.Context, resultCh chan<- *MatchJoinResult, ...) bool
- func (mh *MatchHandler) QueueLeave(leaves []*MatchPresence) bool
- func (mh *MatchHandler) QueueTerminate(graceSeconds int) bool
- func (mh *MatchHandler) Stop()
- type MatchIndexEntry
- type MatchJoinMarker
- type MatchJoinMarkerList
- type MatchJoinResult
- type MatchPresence
- func (p *MatchPresence) GetHidden() bool
- func (p *MatchPresence) GetNodeId() string
- func (p *MatchPresence) GetPersistence() bool
- func (p *MatchPresence) GetSessionId() string
- func (p *MatchPresence) GetStatus() string
- func (p *MatchPresence) GetUserId() string
- func (p *MatchPresence) GetUsername() string
- type MatchPresenceList
- type MatchRegistry
- type Matchmaker
- type MatchmakerEntry
- type MatchmakerPresence
- func (p *MatchmakerPresence) GetHidden() bool
- func (p *MatchmakerPresence) GetNodeId() string
- func (p *MatchmakerPresence) GetPersistence() bool
- func (p *MatchmakerPresence) GetSessionId() string
- func (p *MatchmakerPresence) GetStatus() string
- func (p *MatchmakerPresence) GetUserId() string
- func (p *MatchmakerPresence) GetUsername() string
- type MessageRouter
- type Metrics
- type MetricsConfig
- type MetricsExporter
- type Pipeline
- type Presence
- type PresenceEvent
- type PresenceID
- type PresenceMeta
- type PresenceStream
- type RankData
- type RankMap
- type Runtime
- func (r *Runtime) AfterAddFriends() RuntimeAfterAddFriendsFunction
- func (r *Runtime) AfterAddGroupUsers() RuntimeAfterAddGroupUsersFunction
- func (r *Runtime) AfterAuthenticateCustom() RuntimeAfterAuthenticateCustomFunction
- func (r *Runtime) AfterAuthenticateDevice() RuntimeAfterAuthenticateDeviceFunction
- func (r *Runtime) AfterAuthenticateEmail() RuntimeAfterAuthenticateEmailFunction
- func (r *Runtime) AfterAuthenticateFacebook() RuntimeAfterAuthenticateFacebookFunction
- func (r *Runtime) AfterAuthenticateGameCenter() RuntimeAfterAuthenticateGameCenterFunction
- func (r *Runtime) AfterAuthenticateGoogle() RuntimeAfterAuthenticateGoogleFunction
- func (r *Runtime) AfterAuthenticateSteam() RuntimeAfterAuthenticateSteamFunction
- func (r *Runtime) AfterBlockFriends() RuntimeAfterBlockFriendsFunction
- func (r *Runtime) AfterCreateGroup() RuntimeAfterCreateGroupFunction
- func (r *Runtime) AfterDeleteFriends() RuntimeAfterDeleteFriendsFunction
- func (r *Runtime) AfterDeleteGroup() RuntimeAfterDeleteGroupFunction
- func (r *Runtime) AfterDeleteLeaderboardRecord() RuntimeAfterDeleteLeaderboardRecordFunction
- func (r *Runtime) AfterDeleteNotification() RuntimeAfterDeleteNotificationFunction
- func (r *Runtime) AfterDeleteStorageObjects() RuntimeAfterDeleteStorageObjectsFunction
- func (r *Runtime) AfterGetAccount() RuntimeAfterGetAccountFunction
- func (r *Runtime) AfterGetUsers() RuntimeAfterGetUsersFunction
- func (r *Runtime) AfterImportFacebookFriends() RuntimeAfterImportFacebookFriendsFunction
- func (r *Runtime) AfterJoinGroup() RuntimeAfterJoinGroupFunction
- func (r *Runtime) AfterJoinTournament() RuntimeAfterJoinTournamentFunction
- func (r *Runtime) AfterKickGroupUsers() RuntimeAfterKickGroupUsersFunction
- func (r *Runtime) AfterLeaveGroup() RuntimeAfterLeaveGroupFunction
- func (r *Runtime) AfterLinkCustom() RuntimeAfterLinkCustomFunction
- func (r *Runtime) AfterLinkDevice() RuntimeAfterLinkDeviceFunction
- func (r *Runtime) AfterLinkEmail() RuntimeAfterLinkEmailFunction
- func (r *Runtime) AfterLinkFacebook() RuntimeAfterLinkFacebookFunction
- func (r *Runtime) AfterLinkGameCenter() RuntimeAfterLinkGameCenterFunction
- func (r *Runtime) AfterLinkGoogle() RuntimeAfterLinkGoogleFunction
- func (r *Runtime) AfterLinkSteam() RuntimeAfterLinkSteamFunction
- func (r *Runtime) AfterListChannelMessages() RuntimeAfterListChannelMessagesFunction
- func (r *Runtime) AfterListFriends() RuntimeAfterListFriendsFunction
- func (r *Runtime) AfterListGroupUsers() RuntimeAfterListGroupUsersFunction
- func (r *Runtime) AfterListGroups() RuntimeAfterListGroupsFunction
- func (r *Runtime) AfterListLeaderboardRecords() RuntimeAfterListLeaderboardRecordsFunction
- func (r *Runtime) AfterListLeaderboardRecordsAroundOwner() RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
- func (r *Runtime) AfterListMatches() RuntimeAfterListMatchesFunction
- func (r *Runtime) AfterListNotifications() RuntimeAfterListNotificationsFunction
- func (r *Runtime) AfterListStorageObjects() RuntimeAfterListStorageObjectsFunction
- func (r *Runtime) AfterListTournamentRecords() RuntimeAfterListTournamentRecordsFunction
- func (r *Runtime) AfterListTournamentRecordsAroundOwner() RuntimeAfterListTournamentRecordsAroundOwnerFunction
- func (r *Runtime) AfterListTournaments() RuntimeAfterListTournamentsFunction
- func (r *Runtime) AfterListUserGroups() RuntimeAfterListUserGroupsFunction
- func (r *Runtime) AfterPromoteGroupUsers() RuntimeAfterPromoteGroupUsersFunction
- func (r *Runtime) AfterReadStorageObjects() RuntimeAfterReadStorageObjectsFunction
- func (r *Runtime) AfterRt(id string) RuntimeAfterRtFunction
- func (r *Runtime) AfterUnlinkCustom() RuntimeAfterUnlinkCustomFunction
- func (r *Runtime) AfterUnlinkDevice() RuntimeAfterUnlinkDeviceFunction
- func (r *Runtime) AfterUnlinkEmail() RuntimeAfterUnlinkEmailFunction
- func (r *Runtime) AfterUnlinkFacebook() RuntimeAfterUnlinkFacebookFunction
- func (r *Runtime) AfterUnlinkGameCenter() RuntimeAfterUnlinkGameCenterFunction
- func (r *Runtime) AfterUnlinkGoogle() RuntimeAfterUnlinkGoogleFunction
- func (r *Runtime) AfterUnlinkSteam() RuntimeAfterUnlinkSteamFunction
- func (r *Runtime) AfterUpdateAccount() RuntimeAfterUpdateAccountFunction
- func (r *Runtime) AfterUpdateGroup() RuntimeAfterUpdateGroupFunction
- func (r *Runtime) AfterWriteLeaderboardRecord() RuntimeAfterWriteLeaderboardRecordFunction
- func (r *Runtime) AfterWriteStorageObjects() RuntimeAfterWriteStorageObjectsFunction
- func (r *Runtime) AfterWriteTournamentRecord() RuntimeAfterWriteTournamentRecordFunction
- func (r *Runtime) BeforeAddFriends() RuntimeBeforeAddFriendsFunction
- func (r *Runtime) BeforeAddGroupUsers() RuntimeBeforeAddGroupUsersFunction
- func (r *Runtime) BeforeAuthenticateCustom() RuntimeBeforeAuthenticateCustomFunction
- func (r *Runtime) BeforeAuthenticateDevice() RuntimeBeforeAuthenticateDeviceFunction
- func (r *Runtime) BeforeAuthenticateEmail() RuntimeBeforeAuthenticateEmailFunction
- func (r *Runtime) BeforeAuthenticateFacebook() RuntimeBeforeAuthenticateFacebookFunction
- func (r *Runtime) BeforeAuthenticateGameCenter() RuntimeBeforeAuthenticateGameCenterFunction
- func (r *Runtime) BeforeAuthenticateGoogle() RuntimeBeforeAuthenticateGoogleFunction
- func (r *Runtime) BeforeAuthenticateSteam() RuntimeBeforeAuthenticateSteamFunction
- func (r *Runtime) BeforeBlockFriends() RuntimeBeforeBlockFriendsFunction
- func (r *Runtime) BeforeCreateGroup() RuntimeBeforeCreateGroupFunction
- func (r *Runtime) BeforeDeleteFriends() RuntimeBeforeDeleteFriendsFunction
- func (r *Runtime) BeforeDeleteGroup() RuntimeBeforeDeleteGroupFunction
- func (r *Runtime) BeforeDeleteLeaderboardRecord() RuntimeBeforeDeleteLeaderboardRecordFunction
- func (r *Runtime) BeforeDeleteNotification() RuntimeBeforeDeleteNotificationFunction
- func (r *Runtime) BeforeDeleteStorageObjects() RuntimeBeforeDeleteStorageObjectsFunction
- func (r *Runtime) BeforeGetAccount() RuntimeBeforeGetAccountFunction
- func (r *Runtime) BeforeGetUsers() RuntimeBeforeGetUsersFunction
- func (r *Runtime) BeforeImportFacebookFriends() RuntimeBeforeImportFacebookFriendsFunction
- func (r *Runtime) BeforeJoinGroup() RuntimeBeforeJoinGroupFunction
- func (r *Runtime) BeforeJoinTournament() RuntimeBeforeJoinTournamentFunction
- func (r *Runtime) BeforeKickGroupUsers() RuntimeBeforeKickGroupUsersFunction
- func (r *Runtime) BeforeLeaveGroup() RuntimeBeforeLeaveGroupFunction
- func (r *Runtime) BeforeLinkCustom() RuntimeBeforeLinkCustomFunction
- func (r *Runtime) BeforeLinkDevice() RuntimeBeforeLinkDeviceFunction
- func (r *Runtime) BeforeLinkEmail() RuntimeBeforeLinkEmailFunction
- func (r *Runtime) BeforeLinkFacebook() RuntimeBeforeLinkFacebookFunction
- func (r *Runtime) BeforeLinkGameCenter() RuntimeBeforeLinkGameCenterFunction
- func (r *Runtime) BeforeLinkGoogle() RuntimeBeforeLinkGoogleFunction
- func (r *Runtime) BeforeLinkSteam() RuntimeBeforeLinkSteamFunction
- func (r *Runtime) BeforeListChannelMessages() RuntimeBeforeListChannelMessagesFunction
- func (r *Runtime) BeforeListFriends() RuntimeBeforeListFriendsFunction
- func (r *Runtime) BeforeListGroupUsers() RuntimeBeforeListGroupUsersFunction
- func (r *Runtime) BeforeListGroups() RuntimeBeforeListGroupsFunction
- func (r *Runtime) BeforeListLeaderboardRecords() RuntimeBeforeListLeaderboardRecordsFunction
- func (r *Runtime) BeforeListLeaderboardRecordsAroundOwner() RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
- func (r *Runtime) BeforeListMatches() RuntimeBeforeListMatchesFunction
- func (r *Runtime) BeforeListNotifications() RuntimeBeforeListNotificationsFunction
- func (r *Runtime) BeforeListStorageObjects() RuntimeBeforeListStorageObjectsFunction
- func (r *Runtime) BeforeListTournamentRecords() RuntimeBeforeListTournamentRecordsFunction
- func (r *Runtime) BeforeListTournamentRecordsAroundOwner() RuntimeBeforeListTournamentRecordsAroundOwnerFunction
- func (r *Runtime) BeforeListTournaments() RuntimeBeforeListTournamentsFunction
- func (r *Runtime) BeforeListUserGroups() RuntimeBeforeListUserGroupsFunction
- func (r *Runtime) BeforePromoteGroupUsers() RuntimeBeforePromoteGroupUsersFunction
- func (r *Runtime) BeforeReadStorageObjects() RuntimeBeforeReadStorageObjectsFunction
- func (r *Runtime) BeforeRt(id string) RuntimeBeforeRtFunction
- func (r *Runtime) BeforeUnlinkCustom() RuntimeBeforeUnlinkCustomFunction
- func (r *Runtime) BeforeUnlinkDevice() RuntimeBeforeUnlinkDeviceFunction
- func (r *Runtime) BeforeUnlinkEmail() RuntimeBeforeUnlinkEmailFunction
- func (r *Runtime) BeforeUnlinkFacebook() RuntimeBeforeUnlinkFacebookFunction
- func (r *Runtime) BeforeUnlinkGameCenter() RuntimeBeforeUnlinkGameCenterFunction
- func (r *Runtime) BeforeUnlinkGoogle() RuntimeBeforeUnlinkGoogleFunction
- func (r *Runtime) BeforeUnlinkSteam() RuntimeBeforeUnlinkSteamFunction
- func (r *Runtime) BeforeUpdateAccount() RuntimeBeforeUpdateAccountFunction
- func (r *Runtime) BeforeUpdateGroup() RuntimeBeforeUpdateGroupFunction
- func (r *Runtime) BeforeWriteLeaderboardRecord() RuntimeBeforeWriteLeaderboardRecordFunction
- func (r *Runtime) BeforeWriteStorageObjects() RuntimeBeforeWriteStorageObjectsFunction
- func (r *Runtime) BeforeWriteTournamentRecord() RuntimeBeforeWriteTournamentRecordFunction
- func (r *Runtime) EventSessionEnd() RuntimeEventSessionEndFunction
- func (r *Runtime) EventSessionStart() RuntimeEventSessionStartFunction
- func (r *Runtime) LeaderboardReset() RuntimeLeaderboardResetFunction
- func (r *Runtime) MatchCreateFunction() RuntimeMatchCreateFunction
- func (r *Runtime) MatchmakerMatched() RuntimeMatchmakerMatchedFunction
- func (r *Runtime) Rpc(id string) RuntimeRpcFunction
- func (r *Runtime) TournamentEnd() RuntimeTournamentEndFunction
- func (r *Runtime) TournamentReset() RuntimeTournamentResetFunction
- type RuntimeAfterAddFriendsFunction
- type RuntimeAfterAddGroupUsersFunction
- type RuntimeAfterAuthenticateCustomFunction
- type RuntimeAfterAuthenticateDeviceFunction
- type RuntimeAfterAuthenticateEmailFunction
- type RuntimeAfterAuthenticateFacebookFunction
- type RuntimeAfterAuthenticateGameCenterFunction
- type RuntimeAfterAuthenticateGoogleFunction
- type RuntimeAfterAuthenticateSteamFunction
- type RuntimeAfterBlockFriendsFunction
- type RuntimeAfterCreateGroupFunction
- type RuntimeAfterDeleteFriendsFunction
- type RuntimeAfterDeleteGroupFunction
- type RuntimeAfterDeleteLeaderboardRecordFunction
- type RuntimeAfterDeleteNotificationFunction
- type RuntimeAfterDeleteStorageObjectsFunction
- type RuntimeAfterGetAccountFunction
- type RuntimeAfterGetUsersFunction
- type RuntimeAfterImportFacebookFriendsFunction
- type RuntimeAfterJoinGroupFunction
- type RuntimeAfterJoinTournamentFunction
- type RuntimeAfterKickGroupUsersFunction
- type RuntimeAfterLeaveGroupFunction
- type RuntimeAfterLinkCustomFunction
- type RuntimeAfterLinkDeviceFunction
- type RuntimeAfterLinkEmailFunction
- type RuntimeAfterLinkFacebookFunction
- type RuntimeAfterLinkGameCenterFunction
- type RuntimeAfterLinkGoogleFunction
- type RuntimeAfterLinkSteamFunction
- type RuntimeAfterListChannelMessagesFunction
- type RuntimeAfterListFriendsFunction
- type RuntimeAfterListGroupUsersFunction
- type RuntimeAfterListGroupsFunction
- type RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
- type RuntimeAfterListLeaderboardRecordsFunction
- type RuntimeAfterListMatchesFunction
- type RuntimeAfterListNotificationsFunction
- type RuntimeAfterListStorageObjectsFunction
- type RuntimeAfterListTournamentRecordsAroundOwnerFunction
- type RuntimeAfterListTournamentRecordsFunction
- type RuntimeAfterListTournamentsFunction
- type RuntimeAfterListUserGroupsFunction
- type RuntimeAfterPromoteGroupUsersFunction
- type RuntimeAfterReadStorageObjectsFunction
- type RuntimeAfterReqFunctions
- type RuntimeAfterRtFunction
- type RuntimeAfterUnlinkCustomFunction
- type RuntimeAfterUnlinkDeviceFunction
- type RuntimeAfterUnlinkEmailFunction
- type RuntimeAfterUnlinkFacebookFunction
- type RuntimeAfterUnlinkGameCenterFunction
- type RuntimeAfterUnlinkGoogleFunction
- type RuntimeAfterUnlinkSteamFunction
- type RuntimeAfterUpdateAccountFunction
- type RuntimeAfterUpdateGroupFunction
- type RuntimeAfterWriteLeaderboardRecordFunction
- type RuntimeAfterWriteStorageObjectsFunction
- type RuntimeAfterWriteTournamentRecordFunction
- type RuntimeBeforeAddFriendsFunction
- type RuntimeBeforeAddGroupUsersFunction
- type RuntimeBeforeAuthenticateCustomFunction
- type RuntimeBeforeAuthenticateDeviceFunction
- type RuntimeBeforeAuthenticateEmailFunction
- type RuntimeBeforeAuthenticateFacebookFunction
- type RuntimeBeforeAuthenticateGameCenterFunction
- type RuntimeBeforeAuthenticateGoogleFunction
- type RuntimeBeforeAuthenticateSteamFunction
- type RuntimeBeforeBlockFriendsFunction
- type RuntimeBeforeCreateGroupFunction
- type RuntimeBeforeDeleteFriendsFunction
- type RuntimeBeforeDeleteGroupFunction
- type RuntimeBeforeDeleteLeaderboardRecordFunction
- type RuntimeBeforeDeleteNotificationFunction
- type RuntimeBeforeDeleteStorageObjectsFunction
- type RuntimeBeforeGetAccountFunction
- type RuntimeBeforeGetUsersFunction
- type RuntimeBeforeImportFacebookFriendsFunction
- type RuntimeBeforeJoinGroupFunction
- type RuntimeBeforeJoinTournamentFunction
- type RuntimeBeforeKickGroupUsersFunction
- type RuntimeBeforeLeaveGroupFunction
- type RuntimeBeforeLinkCustomFunction
- type RuntimeBeforeLinkDeviceFunction
- type RuntimeBeforeLinkEmailFunction
- type RuntimeBeforeLinkFacebookFunction
- type RuntimeBeforeLinkGameCenterFunction
- type RuntimeBeforeLinkGoogleFunction
- type RuntimeBeforeLinkSteamFunction
- type RuntimeBeforeListChannelMessagesFunction
- type RuntimeBeforeListFriendsFunction
- type RuntimeBeforeListGroupUsersFunction
- type RuntimeBeforeListGroupsFunction
- type RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
- type RuntimeBeforeListLeaderboardRecordsFunction
- type RuntimeBeforeListMatchesFunction
- type RuntimeBeforeListNotificationsFunction
- type RuntimeBeforeListStorageObjectsFunction
- type RuntimeBeforeListTournamentRecordsAroundOwnerFunction
- type RuntimeBeforeListTournamentRecordsFunction
- type RuntimeBeforeListTournamentsFunction
- type RuntimeBeforeListUserGroupsFunction
- type RuntimeBeforePromoteGroupUsersFunction
- type RuntimeBeforeReadStorageObjectsFunction
- type RuntimeBeforeReqFunctions
- type RuntimeBeforeRtFunction
- type RuntimeBeforeUnlinkCustomFunction
- type RuntimeBeforeUnlinkDeviceFunction
- type RuntimeBeforeUnlinkEmailFunction
- type RuntimeBeforeUnlinkFacebookFunction
- type RuntimeBeforeUnlinkGameCenterFunction
- type RuntimeBeforeUnlinkGoogleFunction
- type RuntimeBeforeUnlinkSteamFunction
- type RuntimeBeforeUpdateAccountFunction
- type RuntimeBeforeUpdateGroupFunction
- type RuntimeBeforeWriteLeaderboardRecordFunction
- type RuntimeBeforeWriteStorageObjectsFunction
- type RuntimeBeforeWriteTournamentRecordFunction
- type RuntimeConfig
- type RuntimeEventFunction
- type RuntimeEventFunctions
- type RuntimeEventQueue
- type RuntimeEventSessionEndFunction
- type RuntimeEventSessionStartFunction
- type RuntimeExecutionMode
- type RuntimeGoInitializer
- func (ri *RuntimeGoInitializer) RegisterAfterAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteNotification(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterPromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterRt(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAddFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAddGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeBlockFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeCreateGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteNotification(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeImportFacebookFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeJoinGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeJoinTournament(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeKickGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLeaveGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListChannelMessages(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListGroups(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListMatches(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListNotifications(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecords(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournaments(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListUserGroups(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforePromoteGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeReadStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeRt(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUpdateAccount(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUpdateGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterEventSessionEnd(fn func(ctx context.Context, logger runtime.Logger, evt *api.Event)) error
- func (ri *RuntimeGoInitializer) RegisterEventSessionStart(fn func(ctx context.Context, logger runtime.Logger, evt *api.Event)) error
- func (ri *RuntimeGoInitializer) RegisterLeaderboardReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterMatch(name string, ...) error
- func (ri *RuntimeGoInitializer) RegisterMatchmakerMatched(...) error
- func (ri *RuntimeGoInitializer) RegisterRpc(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterTournamentEnd(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterTournamentReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- type RuntimeGoLogger
- func (l *RuntimeGoLogger) Debug(format string, v ...interface{})
- func (l *RuntimeGoLogger) Error(format string, v ...interface{})
- func (l *RuntimeGoLogger) Fatal(v ...interface{})
- func (l *RuntimeGoLogger) Fatalf(format string, v ...interface{})
- func (l *RuntimeGoLogger) Fatalln(v ...interface{})
- func (l *RuntimeGoLogger) Info(format string, v ...interface{})
- func (l *RuntimeGoLogger) Panic(v ...interface{})
- func (l *RuntimeGoLogger) Panicf(format string, v ...interface{})
- func (l *RuntimeGoLogger) Panicln(v ...interface{})
- func (l *RuntimeGoLogger) Print(v ...interface{})
- func (l *RuntimeGoLogger) Printf(format string, v ...interface{})
- func (l *RuntimeGoLogger) Println(v ...interface{})
- func (l *RuntimeGoLogger) Warn(format string, v ...interface{})
- type RuntimeGoMatchCore
- func (r *RuntimeGoMatchCore) BroadcastMessage(opCode int64, data []byte, presences []runtime.Presence, ...) error
- func (r *RuntimeGoMatchCore) BroadcastMessageDeferred(opCode int64, data []byte, presences []runtime.Presence, ...) error
- func (r *RuntimeGoMatchCore) Cancel()
- func (r *RuntimeGoMatchCore) Label() string
- func (r *RuntimeGoMatchCore) MatchInit(presenceList *MatchPresenceList, ...) (interface{}, int, error)
- func (r *RuntimeGoMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, ...) (interface{}, bool, string, error)
- func (r *RuntimeGoMatchCore) MatchKick(presences []runtime.Presence) error
- func (r *RuntimeGoMatchCore) MatchLabelUpdate(label string) error
- func (r *RuntimeGoMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
- type RuntimeGoNakamaModule
- func (n *RuntimeGoNakamaModule) AccountDeleteId(ctx context.Context, userID string, recorded bool) error
- func (n *RuntimeGoNakamaModule) AccountGetId(ctx context.Context, userID string) (*api.Account, error)
- func (n *RuntimeGoNakamaModule) AccountUpdateId(ctx context.Context, userID, username string, metadata map[string]interface{}, ...) error
- func (n *RuntimeGoNakamaModule) AccountsGetId(ctx context.Context, userIDs []string) ([]*api.Account, error)
- func (n *RuntimeGoNakamaModule) AuthenticateCustom(ctx context.Context, id, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateDevice(ctx context.Context, id, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateEmail(ctx context.Context, email, password, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateFacebook(ctx context.Context, token string, importFriends bool, username string, ...) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateGameCenter(ctx context.Context, playerID, bundleID string, timestamp int64, ...) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateGoogle(ctx context.Context, token, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateSteam(ctx context.Context, token, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateTokenGenerate(userID, username string, exp int64) (string, int64, error)
- func (n *RuntimeGoNakamaModule) GroupCreate(ctx context.Context, ...) (*api.Group, error)
- func (n *RuntimeGoNakamaModule) GroupDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) GroupUpdate(ctx context.Context, ...) error
- func (n *RuntimeGoNakamaModule) GroupUsersKick(ctx context.Context, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupUsersList(ctx context.Context, id string) ([]*api.GroupUserList_GroupUser, error)
- func (n *RuntimeGoNakamaModule) GroupsGetId(ctx context.Context, groupIDs []string) ([]*api.Group, error)
- func (n *RuntimeGoNakamaModule) LeaderboardCreate(ctx context.Context, id string, authoritative bool, ...) error
- func (n *RuntimeGoNakamaModule) LeaderboardDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error
- func (n *RuntimeGoNakamaModule) LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*api.LeaderboardRecord, error)
- func (n *RuntimeGoNakamaModule) LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
- func (n *RuntimeGoNakamaModule) MatchCreate(ctx context.Context, module string, params map[string]interface{}) (string, error)
- func (n *RuntimeGoNakamaModule) MatchList(ctx context.Context, limit int, authoritative bool, label string, ...) ([]*api.Match, error)
- func (n *RuntimeGoNakamaModule) NotificationSend(ctx context.Context, userID, subject string, content map[string]interface{}, ...) error
- func (n *RuntimeGoNakamaModule) NotificationsSend(ctx context.Context, notifications []*runtime.NotificationSend) error
- func (n *RuntimeGoNakamaModule) SessionDisconnect(ctx context.Context, sessionID, node string) error
- func (n *RuntimeGoNakamaModule) SetMatchCreateFn(fn RuntimeMatchCreateFunction)
- func (n *RuntimeGoNakamaModule) StorageDelete(ctx context.Context, deletes []*runtime.StorageDelete) error
- func (n *RuntimeGoNakamaModule) StorageList(ctx context.Context, userID, collection string, limit int, cursor string) ([]*api.StorageObject, string, error)
- func (n *RuntimeGoNakamaModule) StorageRead(ctx context.Context, reads []*runtime.StorageRead) ([]*api.StorageObject, error)
- func (n *RuntimeGoNakamaModule) StorageWrite(ctx context.Context, writes []*runtime.StorageWrite) ([]*api.StorageObjectAck, error)
- func (n *RuntimeGoNakamaModule) StreamClose(mode uint8, subject, subcontext, label string) error
- func (n *RuntimeGoNakamaModule) StreamCount(mode uint8, subject, subcontext, label string) (int, error)
- func (n *RuntimeGoNakamaModule) StreamSend(mode uint8, subject, subcontext, label, data string, ...) error
- func (n *RuntimeGoNakamaModule) StreamSendRaw(mode uint8, subject, subcontext, label string, msg *rtapi.Envelope, ...) error
- func (n *RuntimeGoNakamaModule) StreamUserGet(mode uint8, subject, subcontext, label, userID, sessionID string) (runtime.PresenceMeta, error)
- func (n *RuntimeGoNakamaModule) StreamUserJoin(mode uint8, subject, subcontext, label, userID, sessionID string, ...) (bool, error)
- func (n *RuntimeGoNakamaModule) StreamUserKick(mode uint8, subject, subcontext, label string, presence runtime.Presence) error
- func (n *RuntimeGoNakamaModule) StreamUserLeave(mode uint8, subject, subcontext, label, userID, sessionID string) error
- func (n *RuntimeGoNakamaModule) StreamUserList(mode uint8, subject, subcontext, label string, ...) ([]runtime.Presence, error)
- func (n *RuntimeGoNakamaModule) StreamUserUpdate(mode uint8, subject, subcontext, label, userID, sessionID string, ...) error
- func (n *RuntimeGoNakamaModule) TournamentAddAttempt(ctx context.Context, id, ownerID string, count int) error
- func (n *RuntimeGoNakamaModule) TournamentCreate(ctx context.Context, id string, sortOrder, operator, resetSchedule string, ...) error
- func (n *RuntimeGoNakamaModule) TournamentDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) TournamentJoin(ctx context.Context, id, ownerID, username string) error
- func (n *RuntimeGoNakamaModule) TournamentList(ctx context.Context, categoryStart, categoryEnd, startTime, endTime, limit int, ...) (*api.TournamentList, error)
- func (n *RuntimeGoNakamaModule) TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*api.LeaderboardRecord, error)
- func (n *RuntimeGoNakamaModule) TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int) ([]*api.LeaderboardRecord, error)
- func (n *RuntimeGoNakamaModule) UserGroupsList(ctx context.Context, userID string) ([]*api.UserGroupList_UserGroup, error)
- func (n *RuntimeGoNakamaModule) UsersBanId(ctx context.Context, userIDs []string) error
- func (n *RuntimeGoNakamaModule) UsersGetId(ctx context.Context, userIDs []string) ([]*api.User, error)
- func (n *RuntimeGoNakamaModule) UsersGetUsername(ctx context.Context, usernames []string) ([]*api.User, error)
- func (n *RuntimeGoNakamaModule) UsersUnbanId(ctx context.Context, userIDs []string) error
- func (n *RuntimeGoNakamaModule) WalletLedgerList(ctx context.Context, userID string) ([]runtime.WalletLedgerItem, error)
- func (n *RuntimeGoNakamaModule) WalletLedgerUpdate(ctx context.Context, itemID string, metadata map[string]interface{}) (runtime.WalletLedgerItem, error)
- func (n *RuntimeGoNakamaModule) WalletUpdate(ctx context.Context, userID string, changeset, metadata map[string]interface{}, ...) error
- func (n *RuntimeGoNakamaModule) WalletsUpdate(ctx context.Context, updates []*runtime.WalletUpdate, updateLedger bool) error
- type RuntimeLeaderboardResetFunction
- type RuntimeLua
- type RuntimeLuaCallbacks
- type RuntimeLuaLocalCache
- type RuntimeLuaMatchCore
- func (r *RuntimeLuaMatchCore) Cancel()
- func (r *RuntimeLuaMatchCore) Label() string
- func (r *RuntimeLuaMatchCore) MatchInit(presenceList *MatchPresenceList, ...) (interface{}, int, error)
- func (r *RuntimeLuaMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, ...) (interface{}, bool, string, error)
- func (r *RuntimeLuaMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
- type RuntimeLuaModule
- type RuntimeLuaModuleCache
- type RuntimeLuaNakamaModule
- type RuntimeMatchCore
- type RuntimeMatchCreateFunction
- type RuntimeMatchDeferMessageFunction
- type RuntimeMatchmakerMatchedFunction
- type RuntimeProviderLua
- func (rp *RuntimeProviderLua) AfterReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderLua) AfterRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderLua) BeforeReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (interface{}, error, codes.Code)
- func (rp *RuntimeProviderLua) BeforeRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (*rtapi.Envelope, error)
- func (rp *RuntimeProviderLua) Get(ctx context.Context) (*RuntimeLua, error)
- func (rp *RuntimeProviderLua) LeaderboardReset(ctx context.Context, leaderboard runtime.Leaderboard, reset int64) error
- func (rp *RuntimeProviderLua) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
- func (rp *RuntimeProviderLua) Put(r *RuntimeLua)
- func (rp *RuntimeProviderLua) Rpc(ctx context.Context, id string, queryParams map[string][]string, ...) (string, error, codes.Code)
- func (rp *RuntimeProviderLua) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- func (rp *RuntimeProviderLua) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- type RuntimeRpcFunction
- type RuntimeTournamentEndFunction
- type RuntimeTournamentResetFunction
- type Scannable
- type Session
- type SessionConfig
- type SessionFormat
- type SessionRegistry
- type SocialConfig
- type SocialConfigSteam
- type SocketConfig
- type StatusHandler
- type StorageOpDelete
- type StorageOpDeletes
- type StorageOpWrite
- type StorageOpWrites
- type StreamManager
- type Tracker
- type TrackerConfig
Constants ¶
const ( NotificationCodeDmRequest int32 = -1 NotificationCodeFriendRequest int32 = -2 NotificationCodeFriendAccept int32 = -3 NotificationCodeGroupAdd int32 = -4 NotificationCodeGroupJoinRequest int32 = -5 NotificationCodeFriendJoinGame int32 = -6 )
const ( LeaderboardSortOrderAscending = iota LeaderboardSortOrderDescending )
const ( LeaderboardOperatorBest = iota LeaderboardOperatorSet LeaderboardOperatorIncrement )
const ( ChannelMessageTypeChat int32 = iota ChannelMessageTypeChatUpdate ChannelMessageTypeChatRemove ChannelMessageTypeGroupJoin ChannelMessageTypeGroupAdd ChannelMessageTypeGroupKick ChannelMessageTypeGroupPromoted )
const ( StreamModeNotifications uint8 = iota StreamModeStatus StreamModeChannel StreamModeGroup StreamModeDM StreamModeMatchRelayed StreamModeMatchAuthoritative )
const API_PREFIX = "/nakama.api.Nakama/"
const LTSentinel = lua.LValueType(-1)
const ObfuscationString = "********"
const RTAPI_PREFIX = "*rtapi.Envelope_"
Variables ¶
var ( ErrChannelIdInvalid = errors.New("invalid channel id") ErrChannelCursorInvalid = errors.New("invalid channel cursor") ErrChannelGroupNotFound = errors.New("group not found") )
var ( ErrGroupNameInUse = errors.New("group name in use") ErrGroupPermissionDenied = errors.New("group permission denied") ErrGroupNoUpdateOps = errors.New("no group updates") ErrGroupNotUpdated = errors.New("group not updated") ErrGroupNotFound = errors.New("group not found") ErrGroupFull = errors.New("group is full") ErrGroupLastSuperadmin = errors.New("user is last group superadmin") )
var ( ErrLeaderboardNotFound = errors.New("leaderboard not found") ErrLeaderboardAuthoritative = errors.New("leaderboard only allows authoritative submissions") ErrLeaderboardInvalidCursor = errors.New("leaderboard cursor invalid") )
var ( ErrTournamentNotFound = errors.New("tournament not found") ErrTournamentMaxSizeReached = errors.New("tournament max size reached") ErrTournamentOutsideDuration = errors.New("tournament outside of duration") ErrTournamentWriteMaxNumScoreReached = errors.New("max number score count reached") ErrTournamentWriteJoinRequired = errors.New("required to join before writing tournament record") )
var ( MatchFilterValue = uint8(0) MatchFilterPtr = &MatchFilterValue MatchFilterAny = map[uint8]*uint8{StreamModeMatchRelayed: MatchFilterPtr, StreamModeMatchAuthoritative: MatchFilterPtr} MatchFilterRelayed = map[uint8]*uint8{StreamModeMatchRelayed: MatchFilterPtr} MatchFilterAuthoritative = map[uint8]*uint8{StreamModeMatchAuthoritative: MatchFilterPtr} MaxLabelSize = 2048 ErrMatchLabelTooLong = errors.New("match label too long, must be 0-2048 bytes") ErrDeferredBroadcastFull = errors.New("too many deferred message broadcasts per tick") ErrNoJoinMarker = errors.New("no join marker received") )
var ( // Metrics stats measurements. MetricsRuntimeCount = stats.Int64("nakama/runtime/count", "Number of pooled runtime instances", stats.UnitDimensionless) MetricsSocketWsTimeSpentMsec = stats.Float64("nakama.socket/ws/server_elapsed_time", "Elapsed time in msecs spent in WebSocket connections", stats.UnitMilliseconds) MetricsSocketWsOpenCount = stats.Int64("nakama.socket/ws/open_count", "Number of opened WebSocket connections", stats.UnitDimensionless) MetricsSocketWsCloseCount = stats.Int64("nakama.socket/ws/close_count", "Number of closed WebSocket connections", stats.UnitDimensionless) MetricsApiTimeSpentMsec = stats.Float64("nakama.api/server/server_elapsed_time", "Elapsed time in msecs spent in API functions", stats.UnitMilliseconds) MetricsApiCount = stats.Int64("nakama.api/server/request_count", "Number of calls to API functions", stats.UnitDimensionless) MetricsRtapiTimeSpentMsec = stats.Float64("nakama.rtapi/server/server_elapsed_time", "Elapsed time in msecs spent in realtime socket functions", stats.UnitMilliseconds) MetricsRtapiCount = stats.Int64("nakama.rtapi/server/request_count", "Number of calls to realtime socket functions", stats.UnitDimensionless) // Metrics stats tag keys. MetricsFunction, _ = tag.NewKey("function") )
var ( Bit32LibName = "bit32" Bit32Default64 = int64(math.Pow(2, 32) - 1) )
var ErrAccountNotFound = errors.New("account not found")
var ErrChannelMessageUpdateNotFound = errors.New("channel message not found")
var ErrMatchmakerTicketNotFound = errors.New("ticket not found")
var (
ErrNodeNotFound = errors.New("node not found")
)
var ErrRowsAffectedCount = errors.New("rows_affected_count")
var (
ErrRuntimeRPCNotFound = errors.New("RPC function not found")
)
var ErrSessionQueueFull = errors.New("session outgoing queue full")
var LSentinel = lua.LValue(&LSentinelType{})
var SocketWsStatsCtx = context.Background()
Functions ¶
func AddFriends ¶
func AddGroupUsers ¶
func AuthenticateCustom ¶
func AuthenticateDevice ¶
func AuthenticateEmail ¶
func AuthenticateFacebook ¶
func AuthenticateGameCenter ¶
func AuthenticateGoogle ¶
func AuthenticateSteam ¶
func AuthenticateUsername ¶
func BlockFriends ¶
func ChannelMessagesList ¶
func CreateGroup ¶
func DeleteAccount ¶
func DeleteFriends ¶
func DeleteGroup ¶
func ExecuteRetryable ¶
Retry functions that perform non-transactional database operations.
func GetAccount ¶
func GetAccounts ¶
func GetChannelMessages ¶
func GetFriendIDs ¶
func GetFriends ¶
func GroupDeleteAll ¶
func KickGroupUsers ¶
func LeaderboardRecordDelete ¶
func LeaderboardRecordWrite ¶
func LeaderboardRecordsHaystack ¶
func LeaderboardRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId string, ownerId uuid.UUID, limit int) ([]*api.LeaderboardRecord, error)
func LeaderboardRecordsList ¶
func LeaderboardRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId string, limit *wrappers.Int32Value, cursor string, ownerIds []string, overrideExpiry int64) (*api.LeaderboardRecordList, error)
func LeaveGroup ¶
func ListGroupUsers ¶
func ListGroups ¶
func ListUserGroups ¶
func ListWalletLedger ¶
func NewConfig ¶
NewConfig constructs a Config struct which represents server settings, and populates it with default values.
func NewJSONFileLogger ¶
func NewJSONLogger ¶
func NewRuntimeGoContext ¶
func NewRuntimeLuaContext ¶
func NewRuntimeLuaContext(l *lua.LState, env *lua.LTable, mode RuntimeExecutionMode, queryParams map[string][]string, sessionExpiry int64, userID, username, sessionID, clientIP, clientPort string) *lua.LTable
func NewRuntimeProviderGo ¶
func NewRuntimeProviderGo(logger, startupLogger *zap.Logger, db *sql.DB, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter, rootPath string, paths []string, eventQueue *RuntimeEventQueue) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, map[string]RuntimeAfterRtFunction, *RuntimeBeforeReqFunctions, *RuntimeAfterReqFunctions, RuntimeMatchmakerMatchedFunction, RuntimeMatchCreateFunction, RuntimeTournamentEndFunction, RuntimeTournamentResetFunction, RuntimeLeaderboardResetFunction, *RuntimeEventFunctions, func(RuntimeMatchCreateFunction), func() []string, error)
func NewRuntimeProviderLua ¶
func NewRuntimeProviderLua(logger, startupLogger *zap.Logger, db *sql.DB, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter, goMatchCreateFn RuntimeMatchCreateFunction, rootPath string, paths []string) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, map[string]RuntimeAfterRtFunction, *RuntimeBeforeReqFunctions, *RuntimeAfterReqFunctions, RuntimeMatchmakerMatchedFunction, RuntimeMatchCreateFunction, RuntimeTournamentEndFunction, RuntimeTournamentResetFunction, RuntimeLeaderboardResetFunction, error)
func NewSocketWsAcceptor ¶
func NewSocketWsAcceptor(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, matchmaker Matchmaker, tracker Tracker, runtime *Runtime, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, pipeline *Pipeline) func(http.ResponseWriter, *http.Request)
func NotificationDelete ¶
func NotificationList ¶
func NotificationSave ¶
func NotificationSend ¶
func OpenPackage ¶
func OpenPackage(moduleCache *RuntimeLuaModuleCache) func(L *lua.LState) int
func PromoteGroupUsers ¶
func RuntimeLuaConvertLuaTable ¶
func RuntimeLuaConvertLuaTable(lv *lua.LTable) map[string]interface{}
func RuntimeLuaConvertLuaValue ¶
func RuntimeLuaConvertLuaValue(lv lua.LValue) interface{}
func RuntimeLuaConvertMap ¶
func RuntimeLuaConvertMap(l *lua.LState, data map[string]interface{}) *lua.LTable
func RuntimeLuaConvertValue ¶
func RuntimeLuaConvertValue(l *lua.LState, val interface{}) lua.LValue
func SetupLogging ¶
func StackdriverLevelEncoder ¶
func StackdriverLevelEncoder(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder)
func StackdriverTimeEncoder ¶
func StackdriverTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
func StatusError ¶
Helper function for creating status errors that wrap underlying causes, usually DB errors.
func StorageDeleteObjects ¶
func StorageListObjects ¶
func StorageListObjectsAll ¶
func StorageListObjectsUser ¶
func StorageReadObjects ¶
func StorageWriteObjects ¶
func StreamToChannelId ¶
func StreamToChannelId(stream PresenceStream) (string, error)
func TournamentAddAttempt ¶
func TournamentCreate ¶
func TournamentCreate(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, scheduler LeaderboardScheduler, leaderboardId string, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired bool) error
func TournamentDelete ¶
func TournamentDelete(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, rankCache LeaderboardRankCache, scheduler LeaderboardScheduler, leaderboardId string) error
func TournamentJoin ¶
func TournamentList ¶
func TournamentRecordWrite ¶
func TournamentRecordsHaystack ¶
func TournamentRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId string, ownerId uuid.UUID, limit int) ([]*api.LeaderboardRecord, error)
func UnbanUsers ¶
func UpdateAccount ¶
func UpdateGroup ¶
func UpdateWalletLedger ¶
func UpdateWallets ¶
Types ¶
type ApiServer ¶
type ApiServer struct {
// contains filtered or unexported fields
}
func StartApiServer ¶
func StartApiServer(logger *zap.Logger, startupLogger *zap.Logger, db *sql.DB, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, matchmaker Matchmaker, tracker Tracker, router MessageRouter, pipeline *Pipeline, runtime *Runtime) *ApiServer
func (*ApiServer) AddFriends ¶
func (*ApiServer) AddGroupUsers ¶
func (*ApiServer) AuthenticateCustom ¶
func (*ApiServer) AuthenticateDevice ¶
func (*ApiServer) AuthenticateEmail ¶
func (*ApiServer) AuthenticateFacebook ¶
func (*ApiServer) AuthenticateGameCenter ¶
func (*ApiServer) AuthenticateGoogle ¶
func (*ApiServer) AuthenticateSteam ¶
func (*ApiServer) BlockFriends ¶
func (*ApiServer) CreateGroup ¶
func (*ApiServer) DeleteFriends ¶
func (*ApiServer) DeleteGroup ¶
func (*ApiServer) DeleteLeaderboardRecord ¶
func (*ApiServer) DeleteNotifications ¶
func (*ApiServer) DeleteStorageObjects ¶
func (*ApiServer) GetAccount ¶
func (*ApiServer) Healthcheck ¶
func (*ApiServer) ImportFacebookFriends ¶
func (*ApiServer) JoinTournament ¶
func (*ApiServer) KickGroupUsers ¶
func (*ApiServer) LeaveGroup ¶
func (*ApiServer) LinkCustom ¶
func (*ApiServer) LinkDevice ¶
func (*ApiServer) LinkFacebook ¶
func (*ApiServer) LinkGameCenter ¶
func (*ApiServer) LinkGoogle ¶
func (*ApiServer) ListChannelMessages ¶
func (s *ApiServer) ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
func (*ApiServer) ListFriends ¶
func (*ApiServer) ListGroupUsers ¶
func (s *ApiServer) ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest) (*api.GroupUserList, error)
func (*ApiServer) ListGroups ¶
func (*ApiServer) ListLeaderboardRecords ¶
func (s *ApiServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
func (*ApiServer) ListLeaderboardRecordsAroundOwner ¶
func (s *ApiServer) ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
func (*ApiServer) ListMatches ¶
func (*ApiServer) ListNotifications ¶
func (s *ApiServer) ListNotifications(ctx context.Context, in *api.ListNotificationsRequest) (*api.NotificationList, error)
func (*ApiServer) ListStorageObjects ¶
func (s *ApiServer) ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
func (*ApiServer) ListTournamentRecords ¶
func (s *ApiServer) ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
func (*ApiServer) ListTournamentRecordsAroundOwner ¶
func (s *ApiServer) ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
func (*ApiServer) ListTournaments ¶
func (s *ApiServer) ListTournaments(ctx context.Context, in *api.ListTournamentsRequest) (*api.TournamentList, error)
func (*ApiServer) ListUserGroups ¶
func (s *ApiServer) ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest) (*api.UserGroupList, error)
func (*ApiServer) PromoteGroupUsers ¶
func (*ApiServer) ReadStorageObjects ¶
func (s *ApiServer) ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
func (*ApiServer) UnlinkCustom ¶
func (*ApiServer) UnlinkDevice ¶
func (*ApiServer) UnlinkEmail ¶
func (*ApiServer) UnlinkFacebook ¶
func (*ApiServer) UnlinkGameCenter ¶
func (*ApiServer) UnlinkGoogle ¶
func (*ApiServer) UnlinkSteam ¶
func (*ApiServer) UpdateAccount ¶
func (*ApiServer) UpdateGroup ¶
func (*ApiServer) WriteLeaderboardRecord ¶
func (s *ApiServer) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
func (*ApiServer) WriteStorageObjects ¶
func (s *ApiServer) WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
func (*ApiServer) WriteTournamentRecord ¶
func (s *ApiServer) WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
type ChannelIdToStreamResult ¶
type ChannelIdToStreamResult struct {
Stream PresenceStream
}
Wrapper type to avoid allocating a stream struct when the input is invalid.
func ChannelIdToStream ¶
func ChannelIdToStream(channelId string) (*ChannelIdToStreamResult, error)
type Config ¶
type Config interface { GetName() string GetDataDir() string GetShutdownGraceSec() int GetLogger() *LoggerConfig GetMetrics() *MetricsConfig GetSession() *SessionConfig GetSocket() *SocketConfig GetDatabase() *DatabaseConfig GetSocial() *SocialConfig GetRuntime() *RuntimeConfig GetMatch() *MatchConfig GetTracker() *TrackerConfig GetConsole() *ConsoleConfig GetLeaderboard() *LeaderboardConfig Clone() (Config, error) }
Config interface is the Nakama core configuration.
type ConsoleConfig ¶
type ConsoleConfig struct { Port int `yaml:"port" json:"port" usage:"The port for accepting connections for the embedded console, listening on all interfaces."` Address string `` /* 157-byte string literal not displayed */ MaxMessageSizeBytes int64 `` /* 154-byte string literal not displayed */ ReadTimeoutMs int `yaml:"read_timeout_ms" json:"read_timeout_ms" usage:"Maximum duration in milliseconds for reading the entire request."` WriteTimeoutMs int `` /* 130-byte string literal not displayed */ IdleTimeoutMs int `` /* 151-byte string literal not displayed */ Username string `yaml:"username" json:"username" usage:"Username for the embedded console. Default username is 'admin'."` Password string `yaml:"password" json:"password" usage:"Password for the embedded console. Default password is 'password'."` TokenExpirySec int64 `yaml:"token_expiry_sec" json:"token_expiry_sec" usage:"Token expiry in seconds. Default 86400."` SigningKey string `yaml:"signing_key" json:"signing_key" usage:"Key used to sign console session tokens."` }
ConsoleConfig is configuration relevant to the embedded console.
func NewConsoleConfig ¶
func NewConsoleConfig() *ConsoleConfig
NewConsoleConfig creates a new ConsoleConfig struct.
type ConsoleServer ¶
type ConsoleServer struct {
// contains filtered or unexported fields
}
func StartConsoleServer ¶
func (*ConsoleServer) Authenticate ¶
func (s *ConsoleServer) Authenticate(ctx context.Context, in *console.AuthenticateRequest) (*console.ConsoleSession, error)
func (*ConsoleServer) DeleteAccount ¶
func (s *ConsoleServer) DeleteAccount(ctx context.Context, in *console.AccountDeleteRequest) (*empty.Empty, error)
func (*ConsoleServer) DeleteFriend ¶
func (s *ConsoleServer) DeleteFriend(ctx context.Context, in *console.DeleteFriendRequest) (*empty.Empty, error)
func (*ConsoleServer) DeleteGroupUser ¶
func (s *ConsoleServer) DeleteGroupUser(ctx context.Context, in *console.DeleteGroupUserRequest) (*empty.Empty, error)
func (*ConsoleServer) DeleteStorage ¶
func (*ConsoleServer) DeleteStorageObject ¶
func (s *ConsoleServer) DeleteStorageObject(ctx context.Context, in *console.DeleteStorageObjectRequest) (*empty.Empty, error)
func (*ConsoleServer) DeleteUsers ¶
func (*ConsoleServer) DeleteWalletLedger ¶
func (s *ConsoleServer) DeleteWalletLedger(ctx context.Context, in *console.DeleteWalletLedgerRequest) (*empty.Empty, error)
func (*ConsoleServer) ExportAccount ¶
func (s *ConsoleServer) ExportAccount(ctx context.Context, in *console.AccountId) (*console.AccountExport, error)
func (*ConsoleServer) GetAccount ¶
func (*ConsoleServer) GetFriends ¶
func (*ConsoleServer) GetGroups ¶
func (s *ConsoleServer) GetGroups(ctx context.Context, in *console.AccountId) (*api.UserGroupList, error)
func (*ConsoleServer) GetStatus ¶
func (s *ConsoleServer) GetStatus(ctx context.Context, in *empty.Empty) (*console.StatusList, error)
func (*ConsoleServer) GetStorage ¶
func (s *ConsoleServer) GetStorage(ctx context.Context, in *api.ReadStorageObjectId) (*api.StorageObject, error)
func (*ConsoleServer) GetWalletLedger ¶
func (s *ConsoleServer) GetWalletLedger(ctx context.Context, in *console.AccountId) (*console.WalletLedgerList, error)
func (*ConsoleServer) ListStorage ¶
func (s *ConsoleServer) ListStorage(ctx context.Context, in *console.ListStorageRequest) (*console.StorageList, error)
func (*ConsoleServer) ListUsers ¶
func (s *ConsoleServer) ListUsers(ctx context.Context, in *console.ListUsersRequest) (*console.UserList, error)
func (*ConsoleServer) Stop ¶
func (s *ConsoleServer) Stop()
func (*ConsoleServer) UnlinkCustom ¶
func (*ConsoleServer) UnlinkDevice ¶
func (s *ConsoleServer) UnlinkDevice(ctx context.Context, in *console.UnlinkDeviceRequest) (*empty.Empty, error)
func (*ConsoleServer) UnlinkEmail ¶
func (*ConsoleServer) UnlinkFacebook ¶
func (*ConsoleServer) UnlinkGameCenter ¶
func (*ConsoleServer) UnlinkGoogle ¶
func (*ConsoleServer) UnlinkSteam ¶
func (*ConsoleServer) UpdateAccount ¶
func (s *ConsoleServer) UpdateAccount(ctx context.Context, in *console.UpdateAccountRequest) (*empty.Empty, error)
func (*ConsoleServer) WriteStorageObject ¶
func (s *ConsoleServer) WriteStorageObject(ctx context.Context, in *console.WriteStorageObjectRequest) (*api.StorageObjectAck, error)
type DatabaseConfig ¶
type DatabaseConfig struct { Addresses []string `` /* 135-byte string literal not displayed */ ConnMaxLifetimeMs int `` /* 199-byte string literal not displayed */ MaxOpenConns int `yaml:"max_open_conns" json:"max_open_conns" usage:"Maximum number of allowed open connections to the database. Default 100."` MaxIdleConns int `` /* 135-byte string literal not displayed */ }
DatabaseConfig is configuration relevant to the Database storage.
func NewDatabaseConfig ¶
func NewDatabaseConfig() *DatabaseConfig
NewDatabaseConfig creates a new DatabaseConfig struct.
type DeferredMessage ¶
type DeferredMessage struct { PresenceIDs []*PresenceID Envelope *rtapi.Envelope }
Deferred message expected to be batched with other deferred messages. All deferred messages in a batch are expected to be for the same stream/mode and share a logger context.
type LSentinelType ¶
type LSentinelType struct {
lua.LNilType
}
func (*LSentinelType) String ¶
func (s *LSentinelType) String() string
func (*LSentinelType) Type ¶
func (s *LSentinelType) Type() lua.LValueType
type Leaderboard ¶
type Leaderboard struct { Id string Authoritative bool SortOrder int Operator int ResetScheduleStr string ResetSchedule *cronexpr.Expression Metadata string CreateTime int64 Category int Description string Duration int EndTime int64 JoinRequired bool MaxSize int MaxNumScore int Title string StartTime int64 }
func (*Leaderboard) GetAuthoritative ¶
func (l *Leaderboard) GetAuthoritative() bool
func (*Leaderboard) GetCreateTime ¶
func (l *Leaderboard) GetCreateTime() int64
func (*Leaderboard) GetId ¶
func (l *Leaderboard) GetId() string
func (*Leaderboard) GetMetadata ¶
func (l *Leaderboard) GetMetadata() map[string]interface{}
func (*Leaderboard) GetOperator ¶
func (l *Leaderboard) GetOperator() string
func (*Leaderboard) GetReset ¶
func (l *Leaderboard) GetReset() string
func (*Leaderboard) GetSortOrder ¶
func (l *Leaderboard) GetSortOrder() string
func (*Leaderboard) IsTournament ¶
func (l *Leaderboard) IsTournament() bool
type LeaderboardCache ¶
type LeaderboardCache interface { Get(id string) *Leaderboard GetAllLeaderboards() []*Leaderboard RefreshAllLeaderboards(ctx context.Context) error Create(ctx context.Context, id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata string) (*Leaderboard, error) Insert(id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata string, createTime int64) CreateTournament(ctx context.Context, id string, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired bool) (*Leaderboard, error) InsertTournament(id string, sortOrder, operator int, resetSchedule, metadata, title, description string, category, duration, maxSize, maxNumScore int, joinRequired bool, createTime, startTime, endTime int64) Delete(ctx context.Context, id string) error Remove(id string) }
func NewLocalLeaderboardCache ¶
func NewLocalLeaderboardCache(logger, startupLogger *zap.Logger, db *sql.DB) LeaderboardCache
type LeaderboardConfig ¶
type LeaderboardConfig struct {
BlacklistRankCache []string `` /* 211-byte string literal not displayed */
}
LeaderboardConfig is configuration relevant to the leaderboard system.
func NewLeaderboardConfig ¶
func NewLeaderboardConfig() *LeaderboardConfig
NewLeaderboardConfig creates a new LeaderboardConfig struct.
type LeaderboardRankCache ¶
type LeaderboardRankCache interface { Get(leaderboardId string, expiryUnix int64, ownerId uuid.UUID) int64 Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord) Insert(leaderboardId string, expiryUnix int64, sortOrder int, ownerId uuid.UUID, score, subscore int64) int64 Delete(leaderboardId string, expiryUnix int64, ownerId uuid.UUID) bool DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool TrimExpired(nowUnix int64) bool }
func NewLocalLeaderboardRankCache ¶
func NewLocalLeaderboardRankCache(logger, startupLogger *zap.Logger, db *sql.DB, config *LeaderboardConfig, leaderboardCache LeaderboardCache) LeaderboardRankCache
type LeaderboardScheduler ¶
type LeaderboardScheduler interface { Start(runtime *Runtime) Pause() Resume() Stop() Update() }
func NewLocalLeaderboardScheduler ¶
func NewLocalLeaderboardScheduler(logger *zap.Logger, db *sql.DB, cache LeaderboardCache, rankCache LeaderboardRankCache) LeaderboardScheduler
type LeaderboardWithExpiry ¶
type LocalLeaderboardCache ¶
func (*LocalLeaderboardCache) Create ¶
func (l *LocalLeaderboardCache) Create(ctx context.Context, id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata string) (*Leaderboard, error)
func (*LocalLeaderboardCache) CreateTournament ¶
func (l *LocalLeaderboardCache) CreateTournament(ctx context.Context, id string, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired bool) (*Leaderboard, error)
func (*LocalLeaderboardCache) Delete ¶
func (l *LocalLeaderboardCache) Delete(ctx context.Context, id string) error
func (*LocalLeaderboardCache) Get ¶
func (l *LocalLeaderboardCache) Get(id string) *Leaderboard
func (*LocalLeaderboardCache) GetAllLeaderboards ¶
func (l *LocalLeaderboardCache) GetAllLeaderboards() []*Leaderboard
func (*LocalLeaderboardCache) InsertTournament ¶
func (*LocalLeaderboardCache) RefreshAllLeaderboards ¶
func (l *LocalLeaderboardCache) RefreshAllLeaderboards(ctx context.Context) error
func (*LocalLeaderboardCache) Remove ¶
func (l *LocalLeaderboardCache) Remove(id string)
type LocalLeaderboardRankCache ¶
func (*LocalLeaderboardRankCache) DeleteLeaderboard ¶
func (l *LocalLeaderboardRankCache) DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool
func (*LocalLeaderboardRankCache) Fill ¶
func (l *LocalLeaderboardRankCache) Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord)
func (*LocalLeaderboardRankCache) TrimExpired ¶
func (l *LocalLeaderboardRankCache) TrimExpired(nowUnix int64) bool
type LocalLeaderboardScheduler ¶
func (*LocalLeaderboardScheduler) Pause ¶
func (ls *LocalLeaderboardScheduler) Pause()
func (*LocalLeaderboardScheduler) Resume ¶
func (ls *LocalLeaderboardScheduler) Resume()
func (*LocalLeaderboardScheduler) Start ¶
func (ls *LocalLeaderboardScheduler) Start(runtime *Runtime)
func (*LocalLeaderboardScheduler) Stop ¶
func (ls *LocalLeaderboardScheduler) Stop()
func (*LocalLeaderboardScheduler) Update ¶
func (ls *LocalLeaderboardScheduler) Update()
type LocalMatchRegistry ¶
func (*LocalMatchRegistry) AwaitJoinMarker ¶
func (*LocalMatchRegistry) Count ¶
func (r *LocalMatchRegistry) Count() int
func (*LocalMatchRegistry) CreateMatch ¶
func (r *LocalMatchRegistry) CreateMatch(ctx context.Context, logger *zap.Logger, createFn RuntimeMatchCreateFunction, module string, params map[string]interface{}) (string, error)
func (*LocalMatchRegistry) GetMatch ¶
func (r *LocalMatchRegistry) GetMatch(id uuid.UUID) *MatchHandler
func (*LocalMatchRegistry) GetMatchLabel ¶
func (*LocalMatchRegistry) Join ¶
func (r *LocalMatchRegistry) Join(id uuid.UUID, presences []*MatchPresence)
func (*LocalMatchRegistry) JoinAttempt ¶
func (*LocalMatchRegistry) Kick ¶
func (r *LocalMatchRegistry) Kick(stream PresenceStream, presences []*MatchPresence)
func (*LocalMatchRegistry) Leave ¶
func (r *LocalMatchRegistry) Leave(id uuid.UUID, presences []*MatchPresence)
func (*LocalMatchRegistry) ListMatches ¶
func (r *LocalMatchRegistry) ListMatches(ctx context.Context, limit int, authoritative *wrappers.BoolValue, label *wrappers.StringValue, minSize *wrappers.Int32Value, maxSize *wrappers.Int32Value, query *wrappers.StringValue) ([]*api.Match, error)
func (*LocalMatchRegistry) NewMatch ¶
func (r *LocalMatchRegistry) NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, params map[string]interface{}) (*MatchHandler, error)
func (*LocalMatchRegistry) RemoveMatch ¶
func (r *LocalMatchRegistry) RemoveMatch(id uuid.UUID, stream PresenceStream)
func (*LocalMatchRegistry) Stop ¶
func (r *LocalMatchRegistry) Stop(graceSeconds int) chan struct{}
func (*LocalMatchRegistry) UpdateMatchLabel ¶
func (r *LocalMatchRegistry) UpdateMatchLabel(id uuid.UUID, label string) error
type LocalMatchmaker ¶
type LocalMessageRouter ¶
type LocalMessageRouter struct {
// contains filtered or unexported fields
}
func (*LocalMessageRouter) SendDeferred ¶
func (r *LocalMessageRouter) SendDeferred(logger *zap.Logger, isStream bool, mode uint8, messages []*DeferredMessage)
func (*LocalMessageRouter) SendToPresenceIDs ¶
func (r *LocalMessageRouter) SendToPresenceIDs(logger *zap.Logger, presenceIDs []*PresenceID, isStream bool, mode uint8, envelope *rtapi.Envelope)
func (*LocalMessageRouter) SendToStream ¶
func (r *LocalMessageRouter) SendToStream(logger *zap.Logger, stream PresenceStream, envelope *rtapi.Envelope)
type LocalSessionRegistry ¶
func (*LocalSessionRegistry) Add ¶
func (r *LocalSessionRegistry) Add(session Session)
func (*LocalSessionRegistry) Count ¶
func (r *LocalSessionRegistry) Count() int
func (*LocalSessionRegistry) Disconnect ¶
func (*LocalSessionRegistry) Remove ¶
func (r *LocalSessionRegistry) Remove(sessionID uuid.UUID)
func (*LocalSessionRegistry) Stop ¶
func (r *LocalSessionRegistry) Stop()
type LocalStatusHandler ¶
type LocalStatusHandler struct {
// contains filtered or unexported fields
}
func (*LocalStatusHandler) GetStatus ¶
func (s *LocalStatusHandler) GetStatus(ctx context.Context) ([]*console.StatusList_Status, error)
type LocalStreamManager ¶
type LocalStreamManager struct {
// contains filtered or unexported fields
}
func (*LocalStreamManager) UserKick ¶
func (m *LocalStreamManager) UserKick(userID, sessionID uuid.UUID, node string, stream PresenceStream) error
type LocalTracker ¶
func (*LocalTracker) Count ¶
func (t *LocalTracker) Count() int
func (*LocalTracker) CountByStream ¶
func (t *LocalTracker) CountByStream(stream PresenceStream) int
func (*LocalTracker) CountByStreamModeFilter ¶
func (t *LocalTracker) CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32
func (*LocalTracker) GetBySessionIDStreamUserID ¶
func (t *LocalTracker) GetBySessionIDStreamUserID(node string, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
func (*LocalTracker) GetLocalBySessionIDStreamUserID ¶
func (t *LocalTracker) GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
func (*LocalTracker) ListByStream ¶
func (t *LocalTracker) ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence
func (*LocalTracker) ListLocalSessionIDByStream ¶
func (t *LocalTracker) ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID
func (*LocalTracker) ListNodesForStream ¶
func (t *LocalTracker) ListNodesForStream(stream PresenceStream) map[string]struct{}
func (*LocalTracker) ListPresenceIDByStream ¶
func (t *LocalTracker) ListPresenceIDByStream(stream PresenceStream) []*PresenceID
func (*LocalTracker) SetMatchJoinListener ¶
func (t *LocalTracker) SetMatchJoinListener(f func(id uuid.UUID, joins []*MatchPresence))
func (*LocalTracker) SetMatchLeaveListener ¶
func (t *LocalTracker) SetMatchLeaveListener(f func(id uuid.UUID, leaves []*MatchPresence))
func (*LocalTracker) Stop ¶
func (t *LocalTracker) Stop()
func (*LocalTracker) StreamExists ¶
func (t *LocalTracker) StreamExists(stream PresenceStream) bool
func (*LocalTracker) Track ¶
func (t *LocalTracker) Track(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta, allowIfFirstForSession bool) (bool, bool)
func (*LocalTracker) Untrack ¶
func (t *LocalTracker) Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID)
func (*LocalTracker) UntrackAll ¶
func (t *LocalTracker) UntrackAll(sessionID uuid.UUID)
func (*LocalTracker) UntrackByStream ¶
func (t *LocalTracker) UntrackByStream(stream PresenceStream)
func (*LocalTracker) UntrackLocalByStream ¶
func (t *LocalTracker) UntrackLocalByStream(stream PresenceStream)
func (*LocalTracker) Update ¶
func (t *LocalTracker) Update(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta, allowIfFirstForSession bool) bool
type LoggerConfig ¶
type LoggerConfig struct { Level string `yaml:"level" json:"level" usage:"Log level to set. Valid values are 'debug', 'info', 'warn', 'error'. Default 'info'."` Stdout bool `yaml:"stdout" json:"stdout" usage:"Log to standard console output (as well as to a file if set). Default true."` File string `` /* 135-byte string literal not displayed */ Rotation bool `yaml:"rotation" json:"rotation" usage:"Rotate log files. Default is false."` // Reference: https://godoc.org/gopkg.in/natefinch/lumberjack.v2 MaxSize int `` /* 139-byte string literal not displayed */ MaxAge int `` /* 195-byte string literal not displayed */ MaxBackups int `` /* 188-byte string literal not displayed */ LocalTime bool `` /* 184-byte string literal not displayed */ Compress bool `yaml:"compress" json:"compress" usage:"This determines if the rotated log files should be compressed using gzip."` Format string `yaml:"format" json:"format" usage:"Set logging output format. Can either be 'JSON' or 'Stackdriver'. Default is 'JSON'."` }
LoggerConfig is configuration relevant to logging levels and output.
func NewLoggerConfig ¶
func NewLoggerConfig() *LoggerConfig
NewLoggerConfig creates a new LoggerConfig struct.
type LoggingFormat ¶
type LoggingFormat int8
const ( JSONFormat LoggingFormat = iota - 1 StackdriverFormat )
type MatchConfig ¶
type MatchConfig struct { InputQueueSize int `` /* 181-byte string literal not displayed */ CallQueueSize int `` /* 176-byte string literal not displayed */ JoinAttemptQueueSize int `` /* 174-byte string literal not displayed */ DeferredQueueSize int `` /* 190-byte string literal not displayed */ JoinMarkerDeadlineMs int `` /* 197-byte string literal not displayed */ }
MatchConfig is configuration relevant to authoritative realtime multiplayer matches.
func NewMatchConfig ¶
func NewMatchConfig() *MatchConfig
NewMatchConfig creates a new MatchConfig struct.
type MatchDataMessage ¶
type MatchDataMessage struct { UserID uuid.UUID SessionID uuid.UUID Username string Node string OpCode int64 Data []byte ReceiveTime int64 }
func (*MatchDataMessage) GetData ¶
func (m *MatchDataMessage) GetData() []byte
func (*MatchDataMessage) GetHidden ¶
func (m *MatchDataMessage) GetHidden() bool
func (*MatchDataMessage) GetNodeId ¶
func (m *MatchDataMessage) GetNodeId() string
func (*MatchDataMessage) GetOpCode ¶
func (m *MatchDataMessage) GetOpCode() int64
func (*MatchDataMessage) GetPersistence ¶
func (m *MatchDataMessage) GetPersistence() bool
func (*MatchDataMessage) GetReceiveTime ¶
func (m *MatchDataMessage) GetReceiveTime() int64
func (*MatchDataMessage) GetSessionId ¶
func (m *MatchDataMessage) GetSessionId() string
func (*MatchDataMessage) GetStatus ¶
func (m *MatchDataMessage) GetStatus() string
func (*MatchDataMessage) GetUserId ¶
func (m *MatchDataMessage) GetUserId() string
func (*MatchDataMessage) GetUsername ¶
func (m *MatchDataMessage) GetUsername() string
type MatchHandler ¶
type MatchHandler struct { JoinMarkerList *MatchJoinMarkerList // Identification not (directly) controlled by match init. ID uuid.UUID Node string IDStr string Stream PresenceStream // Configuration set by match init. Rate int64 // contains filtered or unexported fields }
func NewMatchHandler ¶
func NewMatchHandler(logger *zap.Logger, config Config, matchRegistry MatchRegistry, router MessageRouter, core RuntimeMatchCore, id uuid.UUID, node string, params map[string]interface{}) (*MatchHandler, error)
func (*MatchHandler) Close ¶
func (mh *MatchHandler) Close()
Used when the match is closed externally.
func (*MatchHandler) Label ¶
func (mh *MatchHandler) Label() string
func (*MatchHandler) QueueData ¶
func (mh *MatchHandler) QueueData(m *MatchDataMessage)
func (*MatchHandler) QueueJoin ¶
func (mh *MatchHandler) QueueJoin(joins []*MatchPresence) bool
func (*MatchHandler) QueueJoinAttempt ¶
func (mh *MatchHandler) QueueJoinAttempt(ctx context.Context, resultCh chan<- *MatchJoinResult, userID, sessionID uuid.UUID, username, node string, metadata map[string]string) bool
func (*MatchHandler) QueueLeave ¶
func (mh *MatchHandler) QueueLeave(leaves []*MatchPresence) bool
func (*MatchHandler) QueueTerminate ¶
func (mh *MatchHandler) QueueTerminate(graceSeconds int) bool
func (*MatchHandler) Stop ¶
func (mh *MatchHandler) Stop()
Used when an internal match process (or error) requires it to stop.
type MatchIndexEntry ¶
type MatchJoinMarker ¶
type MatchJoinMarker struct {
// contains filtered or unexported fields
}
Used to monitor when match presences begin and complete their match join process.
type MatchJoinMarkerList ¶
func (*MatchJoinMarkerList) Add ¶
func (m *MatchJoinMarkerList) Add(sessionID uuid.UUID, expiryTick int64)
func (*MatchJoinMarkerList) ClearExpired ¶
func (m *MatchJoinMarkerList) ClearExpired(tick int64)
func (*MatchJoinMarkerList) Get ¶
func (m *MatchJoinMarkerList) Get(sessionID uuid.UUID) <-chan struct{}
func (*MatchJoinMarkerList) Mark ¶
func (m *MatchJoinMarkerList) Mark(sessionID uuid.UUID)
type MatchJoinResult ¶
type MatchPresence ¶
Represents routing and identify information for a single match participant.
func (*MatchPresence) GetHidden ¶
func (p *MatchPresence) GetHidden() bool
func (*MatchPresence) GetNodeId ¶
func (p *MatchPresence) GetNodeId() string
func (*MatchPresence) GetPersistence ¶
func (p *MatchPresence) GetPersistence() bool
func (*MatchPresence) GetSessionId ¶
func (p *MatchPresence) GetSessionId() string
func (*MatchPresence) GetStatus ¶
func (p *MatchPresence) GetStatus() string
func (*MatchPresence) GetUserId ¶
func (p *MatchPresence) GetUserId() string
func (*MatchPresence) GetUsername ¶
func (p *MatchPresence) GetUsername() string
type MatchPresenceList ¶
Maintains the match presences for routing and validation purposes.
func (*MatchPresenceList) Contains ¶
func (m *MatchPresenceList) Contains(presence *PresenceID) bool
func (*MatchPresenceList) Join ¶
func (m *MatchPresenceList) Join(joins []*MatchPresence)
func (*MatchPresenceList) Leave ¶
func (m *MatchPresenceList) Leave(leaves []*MatchPresence)
func (*MatchPresenceList) List ¶
func (m *MatchPresenceList) List() []*PresenceID
type MatchRegistry ¶
type MatchRegistry interface { // Create and start a new match, given a Lua module name or registered Go match function. CreateMatch(ctx context.Context, logger *zap.Logger, createFn RuntimeMatchCreateFunction, module string, params map[string]interface{}) (string, error) // Register and initialise a match that's ready to run. NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, params map[string]interface{}) (*MatchHandler, error) // Return a match handler by ID, only from the local node. GetMatch(id uuid.UUID) *MatchHandler // Remove a tracked match and ensure all its presences are cleaned up. // Does not ensure the match process itself is no longer running, that must be handled separately. RemoveMatch(id uuid.UUID, stream PresenceStream) // Get the label for a match. GetMatchLabel(ctx context.Context, id uuid.UUID, node string) (string, error) // Update the label entry for a given match. UpdateMatchLabel(id uuid.UUID, label string) error // List (and optionally filter) currently running matches. // This can list across both authoritative and relayed matches. ListMatches(ctx context.Context, limit int, authoritative *wrappers.BoolValue, label *wrappers.StringValue, minSize *wrappers.Int32Value, maxSize *wrappers.Int32Value, query *wrappers.StringValue) ([]*api.Match, error) // Stop the match registry and close all matches it's tracking. Stop(graceSeconds int) chan struct{} // Returns the total number of currently active authoritative matches. Count() int // Pass a user join attempt to a match handler. Returns if the match was found, if the join was accepted, a reason for any rejection, and the match label. JoinAttempt(ctx context.Context, id uuid.UUID, node string, userID, sessionID uuid.UUID, username, fromNode string, metadata map[string]string) (bool, bool, string, string) // Notify a match handler that one or more users have successfully joined the match. // Expects that the caller has already determined the match is hosted on the current node. Join(id uuid.UUID, presences []*MatchPresence) // Notify a match handler that one or more users have left or disconnected. // Expects that the caller has already determined the match is hosted on the current node. Leave(id uuid.UUID, presences []*MatchPresence) // Called by match handlers to request the removal fo a match participant. Kick(stream PresenceStream, presences []*MatchPresence) // Pass a data payload (usually from a user) to the appropriate match handler. // Assumes that the data sender has already been validated as a match participant before this call. SendData(id uuid.UUID, node string, userID, sessionID uuid.UUID, username, fromNode string, opCode int64, data []byte, receiveTime int64) // Wait for the match to confirm a user has completed their join process. AwaitJoinMarker(ctx context.Context, id uuid.UUID, node string, sessionID uuid.UUID, fromNode string) error }
func NewLocalMatchRegistry ¶
func NewLocalMatchRegistry(logger, startupLogger *zap.Logger, config Config, tracker Tracker, router MessageRouter, node string) MatchRegistry
type Matchmaker ¶
type Matchmaker interface { Add(session Session, query string, minCount int, maxCount int, stringProperties map[string]string, numericProperties map[string]float64) (string, []*MatchmakerEntry, error) Remove(sessionID uuid.UUID, ticket string) error RemoveAll(sessionID uuid.UUID) error }
func NewLocalMatchmaker ¶
func NewLocalMatchmaker(startupLogger *zap.Logger, node string) Matchmaker
type MatchmakerEntry ¶
type MatchmakerEntry struct { Ticket string `json:"ticket"` Presence *MatchmakerPresence `json:"presence"` Properties map[string]interface{} `json:"properties"` // Cached for when we need them returned to clients, but not indexed. StringProperties map[string]string `json:"-"` NumericProperties map[string]float64 `json:"-"` SessionID uuid.UUID `json:"-"` }
func (*MatchmakerEntry) GetPresence ¶
func (m *MatchmakerEntry) GetPresence() runtime.Presence
func (*MatchmakerEntry) GetProperties ¶
func (m *MatchmakerEntry) GetProperties() map[string]interface{}
func (*MatchmakerEntry) GetTicket ¶
func (m *MatchmakerEntry) GetTicket() string
type MatchmakerPresence ¶
type MatchmakerPresence struct { UserId string `json:"user_id"` SessionId string `json:"session_id"` Username string `json:"username"` Node string `json:"node"` }
func (*MatchmakerPresence) GetHidden ¶
func (p *MatchmakerPresence) GetHidden() bool
func (*MatchmakerPresence) GetNodeId ¶
func (p *MatchmakerPresence) GetNodeId() string
func (*MatchmakerPresence) GetPersistence ¶
func (p *MatchmakerPresence) GetPersistence() bool
func (*MatchmakerPresence) GetSessionId ¶
func (p *MatchmakerPresence) GetSessionId() string
func (*MatchmakerPresence) GetStatus ¶
func (p *MatchmakerPresence) GetStatus() string
func (*MatchmakerPresence) GetUserId ¶
func (p *MatchmakerPresence) GetUserId() string
func (*MatchmakerPresence) GetUsername ¶
func (p *MatchmakerPresence) GetUsername() string
type MessageRouter ¶
type MessageRouter interface { SendToPresenceIDs(*zap.Logger, []*PresenceID, bool, uint8, *rtapi.Envelope) SendToStream(*zap.Logger, PresenceStream, *rtapi.Envelope) SendDeferred(*zap.Logger, bool, uint8, []*DeferredMessage) }
MessageRouter is responsible for sending a message to a list of presences or to an entire stream.
func NewLocalMessageRouter ¶
func NewLocalMessageRouter(sessionRegistry SessionRegistry, tracker Tracker, jsonpbMarshaler *jsonpb.Marshaler) MessageRouter
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
func NewMetrics ¶
func NewMetrics(logger, startupLogger *zap.Logger, config Config, metricsExporter *MetricsExporter) *Metrics
type MetricsConfig ¶
type MetricsConfig struct { ReportingFreqSec int `yaml:"reporting_freq_sec" json:"reporting_freq_sec" usage:"Frequency of metrics exports. Default is 60 seconds."` StackdriverProjectID string `` /* 218-byte string literal not displayed */ Namespace string `` /* 135-byte string literal not displayed */ PrometheusPort int `yaml:"prometheus_port" json:"prometheus_port" usage:"Port to expose Prometheus. If '0' Prometheus exports are disabled."` }
MetricsConfig is configuration relevant to metrics capturing and output.
func NewMetricsConfig ¶
func NewMetricsConfig() *MetricsConfig
NewMetricsConfig creates a new MatricsConfig struct.
type MetricsExporter ¶
type MetricsExporter struct { Latency *atomic.Float64 Rate *atomic.Float64 Input *atomic.Float64 Output *atomic.Float64 // contains filtered or unexported fields }
func NewMetricsExporter ¶
func NewMetricsExporter(logger *zap.Logger) *MetricsExporter
func (*MetricsExporter) ExportView ¶
func (m *MetricsExporter) ExportView(vd *view.Data)
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
func NewPipeline ¶
func NewPipeline(logger *zap.Logger, config Config, db *sql.DB, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, matchmaker Matchmaker, tracker Tracker, router MessageRouter, runtime *Runtime) *Pipeline
type Presence ¶
type Presence struct { ID PresenceID Stream PresenceStream UserID uuid.UUID Meta PresenceMeta }
func (*Presence) GetPersistence ¶
func (*Presence) GetSessionId ¶
func (*Presence) GetUsername ¶
type PresenceEvent ¶
type PresenceID ¶
type PresenceMeta ¶
type PresenceMeta struct { Format SessionFormat Hidden bool Persistence bool Username string Status string }
func (*PresenceMeta) GetHidden ¶
func (pm *PresenceMeta) GetHidden() bool
func (*PresenceMeta) GetPersistence ¶
func (pm *PresenceMeta) GetPersistence() bool
func (*PresenceMeta) GetStatus ¶
func (pm *PresenceMeta) GetStatus() string
func (*PresenceMeta) GetUsername ¶
func (pm *PresenceMeta) GetUsername() string
type PresenceStream ¶
type RankMap ¶
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
func NewRuntime ¶
func NewRuntime(logger, startupLogger *zap.Logger, db *sql.DB, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter) (*Runtime, error)
func (*Runtime) AfterAddFriends ¶
func (r *Runtime) AfterAddFriends() RuntimeAfterAddFriendsFunction
func (*Runtime) AfterAddGroupUsers ¶
func (r *Runtime) AfterAddGroupUsers() RuntimeAfterAddGroupUsersFunction
func (*Runtime) AfterAuthenticateCustom ¶
func (r *Runtime) AfterAuthenticateCustom() RuntimeAfterAuthenticateCustomFunction
func (*Runtime) AfterAuthenticateDevice ¶
func (r *Runtime) AfterAuthenticateDevice() RuntimeAfterAuthenticateDeviceFunction
func (*Runtime) AfterAuthenticateEmail ¶
func (r *Runtime) AfterAuthenticateEmail() RuntimeAfterAuthenticateEmailFunction
func (*Runtime) AfterAuthenticateFacebook ¶
func (r *Runtime) AfterAuthenticateFacebook() RuntimeAfterAuthenticateFacebookFunction
func (*Runtime) AfterAuthenticateGameCenter ¶
func (r *Runtime) AfterAuthenticateGameCenter() RuntimeAfterAuthenticateGameCenterFunction
func (*Runtime) AfterAuthenticateGoogle ¶
func (r *Runtime) AfterAuthenticateGoogle() RuntimeAfterAuthenticateGoogleFunction
func (*Runtime) AfterAuthenticateSteam ¶
func (r *Runtime) AfterAuthenticateSteam() RuntimeAfterAuthenticateSteamFunction
func (*Runtime) AfterBlockFriends ¶
func (r *Runtime) AfterBlockFriends() RuntimeAfterBlockFriendsFunction
func (*Runtime) AfterCreateGroup ¶
func (r *Runtime) AfterCreateGroup() RuntimeAfterCreateGroupFunction
func (*Runtime) AfterDeleteFriends ¶
func (r *Runtime) AfterDeleteFriends() RuntimeAfterDeleteFriendsFunction
func (*Runtime) AfterDeleteGroup ¶
func (r *Runtime) AfterDeleteGroup() RuntimeAfterDeleteGroupFunction
func (*Runtime) AfterDeleteLeaderboardRecord ¶
func (r *Runtime) AfterDeleteLeaderboardRecord() RuntimeAfterDeleteLeaderboardRecordFunction
func (*Runtime) AfterDeleteNotification ¶
func (r *Runtime) AfterDeleteNotification() RuntimeAfterDeleteNotificationFunction
func (*Runtime) AfterDeleteStorageObjects ¶
func (r *Runtime) AfterDeleteStorageObjects() RuntimeAfterDeleteStorageObjectsFunction
func (*Runtime) AfterGetAccount ¶
func (r *Runtime) AfterGetAccount() RuntimeAfterGetAccountFunction
func (*Runtime) AfterGetUsers ¶
func (r *Runtime) AfterGetUsers() RuntimeAfterGetUsersFunction
func (*Runtime) AfterImportFacebookFriends ¶
func (r *Runtime) AfterImportFacebookFriends() RuntimeAfterImportFacebookFriendsFunction
func (*Runtime) AfterJoinGroup ¶
func (r *Runtime) AfterJoinGroup() RuntimeAfterJoinGroupFunction
func (*Runtime) AfterJoinTournament ¶
func (r *Runtime) AfterJoinTournament() RuntimeAfterJoinTournamentFunction
func (*Runtime) AfterKickGroupUsers ¶
func (r *Runtime) AfterKickGroupUsers() RuntimeAfterKickGroupUsersFunction
func (*Runtime) AfterLeaveGroup ¶
func (r *Runtime) AfterLeaveGroup() RuntimeAfterLeaveGroupFunction
func (*Runtime) AfterLinkCustom ¶
func (r *Runtime) AfterLinkCustom() RuntimeAfterLinkCustomFunction
func (*Runtime) AfterLinkDevice ¶
func (r *Runtime) AfterLinkDevice() RuntimeAfterLinkDeviceFunction
func (*Runtime) AfterLinkEmail ¶
func (r *Runtime) AfterLinkEmail() RuntimeAfterLinkEmailFunction
func (*Runtime) AfterLinkFacebook ¶
func (r *Runtime) AfterLinkFacebook() RuntimeAfterLinkFacebookFunction
func (*Runtime) AfterLinkGameCenter ¶
func (r *Runtime) AfterLinkGameCenter() RuntimeAfterLinkGameCenterFunction
func (*Runtime) AfterLinkGoogle ¶
func (r *Runtime) AfterLinkGoogle() RuntimeAfterLinkGoogleFunction
func (*Runtime) AfterLinkSteam ¶
func (r *Runtime) AfterLinkSteam() RuntimeAfterLinkSteamFunction
func (*Runtime) AfterListChannelMessages ¶
func (r *Runtime) AfterListChannelMessages() RuntimeAfterListChannelMessagesFunction
func (*Runtime) AfterListFriends ¶
func (r *Runtime) AfterListFriends() RuntimeAfterListFriendsFunction
func (*Runtime) AfterListGroupUsers ¶
func (r *Runtime) AfterListGroupUsers() RuntimeAfterListGroupUsersFunction
func (*Runtime) AfterListGroups ¶
func (r *Runtime) AfterListGroups() RuntimeAfterListGroupsFunction
func (*Runtime) AfterListLeaderboardRecords ¶
func (r *Runtime) AfterListLeaderboardRecords() RuntimeAfterListLeaderboardRecordsFunction
func (*Runtime) AfterListLeaderboardRecordsAroundOwner ¶
func (r *Runtime) AfterListLeaderboardRecordsAroundOwner() RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
func (*Runtime) AfterListMatches ¶
func (r *Runtime) AfterListMatches() RuntimeAfterListMatchesFunction
func (*Runtime) AfterListNotifications ¶
func (r *Runtime) AfterListNotifications() RuntimeAfterListNotificationsFunction
func (*Runtime) AfterListStorageObjects ¶
func (r *Runtime) AfterListStorageObjects() RuntimeAfterListStorageObjectsFunction
func (*Runtime) AfterListTournamentRecords ¶
func (r *Runtime) AfterListTournamentRecords() RuntimeAfterListTournamentRecordsFunction
func (*Runtime) AfterListTournamentRecordsAroundOwner ¶
func (r *Runtime) AfterListTournamentRecordsAroundOwner() RuntimeAfterListTournamentRecordsAroundOwnerFunction
func (*Runtime) AfterListTournaments ¶
func (r *Runtime) AfterListTournaments() RuntimeAfterListTournamentsFunction
func (*Runtime) AfterListUserGroups ¶
func (r *Runtime) AfterListUserGroups() RuntimeAfterListUserGroupsFunction
func (*Runtime) AfterPromoteGroupUsers ¶
func (r *Runtime) AfterPromoteGroupUsers() RuntimeAfterPromoteGroupUsersFunction
func (*Runtime) AfterReadStorageObjects ¶
func (r *Runtime) AfterReadStorageObjects() RuntimeAfterReadStorageObjectsFunction
func (*Runtime) AfterRt ¶
func (r *Runtime) AfterRt(id string) RuntimeAfterRtFunction
func (*Runtime) AfterUnlinkCustom ¶
func (r *Runtime) AfterUnlinkCustom() RuntimeAfterUnlinkCustomFunction
func (*Runtime) AfterUnlinkDevice ¶
func (r *Runtime) AfterUnlinkDevice() RuntimeAfterUnlinkDeviceFunction
func (*Runtime) AfterUnlinkEmail ¶
func (r *Runtime) AfterUnlinkEmail() RuntimeAfterUnlinkEmailFunction
func (*Runtime) AfterUnlinkFacebook ¶
func (r *Runtime) AfterUnlinkFacebook() RuntimeAfterUnlinkFacebookFunction
func (*Runtime) AfterUnlinkGameCenter ¶
func (r *Runtime) AfterUnlinkGameCenter() RuntimeAfterUnlinkGameCenterFunction
func (*Runtime) AfterUnlinkGoogle ¶
func (r *Runtime) AfterUnlinkGoogle() RuntimeAfterUnlinkGoogleFunction
func (*Runtime) AfterUnlinkSteam ¶
func (r *Runtime) AfterUnlinkSteam() RuntimeAfterUnlinkSteamFunction
func (*Runtime) AfterUpdateAccount ¶
func (r *Runtime) AfterUpdateAccount() RuntimeAfterUpdateAccountFunction
func (*Runtime) AfterUpdateGroup ¶
func (r *Runtime) AfterUpdateGroup() RuntimeAfterUpdateGroupFunction
func (*Runtime) AfterWriteLeaderboardRecord ¶
func (r *Runtime) AfterWriteLeaderboardRecord() RuntimeAfterWriteLeaderboardRecordFunction
func (*Runtime) AfterWriteStorageObjects ¶
func (r *Runtime) AfterWriteStorageObjects() RuntimeAfterWriteStorageObjectsFunction
func (*Runtime) AfterWriteTournamentRecord ¶
func (r *Runtime) AfterWriteTournamentRecord() RuntimeAfterWriteTournamentRecordFunction
func (*Runtime) BeforeAddFriends ¶
func (r *Runtime) BeforeAddFriends() RuntimeBeforeAddFriendsFunction
func (*Runtime) BeforeAddGroupUsers ¶
func (r *Runtime) BeforeAddGroupUsers() RuntimeBeforeAddGroupUsersFunction
func (*Runtime) BeforeAuthenticateCustom ¶
func (r *Runtime) BeforeAuthenticateCustom() RuntimeBeforeAuthenticateCustomFunction
func (*Runtime) BeforeAuthenticateDevice ¶
func (r *Runtime) BeforeAuthenticateDevice() RuntimeBeforeAuthenticateDeviceFunction
func (*Runtime) BeforeAuthenticateEmail ¶
func (r *Runtime) BeforeAuthenticateEmail() RuntimeBeforeAuthenticateEmailFunction
func (*Runtime) BeforeAuthenticateFacebook ¶
func (r *Runtime) BeforeAuthenticateFacebook() RuntimeBeforeAuthenticateFacebookFunction
func (*Runtime) BeforeAuthenticateGameCenter ¶
func (r *Runtime) BeforeAuthenticateGameCenter() RuntimeBeforeAuthenticateGameCenterFunction
func (*Runtime) BeforeAuthenticateGoogle ¶
func (r *Runtime) BeforeAuthenticateGoogle() RuntimeBeforeAuthenticateGoogleFunction
func (*Runtime) BeforeAuthenticateSteam ¶
func (r *Runtime) BeforeAuthenticateSteam() RuntimeBeforeAuthenticateSteamFunction
func (*Runtime) BeforeBlockFriends ¶
func (r *Runtime) BeforeBlockFriends() RuntimeBeforeBlockFriendsFunction
func (*Runtime) BeforeCreateGroup ¶
func (r *Runtime) BeforeCreateGroup() RuntimeBeforeCreateGroupFunction
func (*Runtime) BeforeDeleteFriends ¶
func (r *Runtime) BeforeDeleteFriends() RuntimeBeforeDeleteFriendsFunction
func (*Runtime) BeforeDeleteGroup ¶
func (r *Runtime) BeforeDeleteGroup() RuntimeBeforeDeleteGroupFunction
func (*Runtime) BeforeDeleteLeaderboardRecord ¶
func (r *Runtime) BeforeDeleteLeaderboardRecord() RuntimeBeforeDeleteLeaderboardRecordFunction
func (*Runtime) BeforeDeleteNotification ¶
func (r *Runtime) BeforeDeleteNotification() RuntimeBeforeDeleteNotificationFunction
func (*Runtime) BeforeDeleteStorageObjects ¶
func (r *Runtime) BeforeDeleteStorageObjects() RuntimeBeforeDeleteStorageObjectsFunction
func (*Runtime) BeforeGetAccount ¶
func (r *Runtime) BeforeGetAccount() RuntimeBeforeGetAccountFunction
func (*Runtime) BeforeGetUsers ¶
func (r *Runtime) BeforeGetUsers() RuntimeBeforeGetUsersFunction
func (*Runtime) BeforeImportFacebookFriends ¶
func (r *Runtime) BeforeImportFacebookFriends() RuntimeBeforeImportFacebookFriendsFunction
func (*Runtime) BeforeJoinGroup ¶
func (r *Runtime) BeforeJoinGroup() RuntimeBeforeJoinGroupFunction
func (*Runtime) BeforeJoinTournament ¶
func (r *Runtime) BeforeJoinTournament() RuntimeBeforeJoinTournamentFunction
func (*Runtime) BeforeKickGroupUsers ¶
func (r *Runtime) BeforeKickGroupUsers() RuntimeBeforeKickGroupUsersFunction
func (*Runtime) BeforeLeaveGroup ¶
func (r *Runtime) BeforeLeaveGroup() RuntimeBeforeLeaveGroupFunction
func (*Runtime) BeforeLinkCustom ¶
func (r *Runtime) BeforeLinkCustom() RuntimeBeforeLinkCustomFunction
func (*Runtime) BeforeLinkDevice ¶
func (r *Runtime) BeforeLinkDevice() RuntimeBeforeLinkDeviceFunction
func (*Runtime) BeforeLinkEmail ¶
func (r *Runtime) BeforeLinkEmail() RuntimeBeforeLinkEmailFunction
func (*Runtime) BeforeLinkFacebook ¶
func (r *Runtime) BeforeLinkFacebook() RuntimeBeforeLinkFacebookFunction
func (*Runtime) BeforeLinkGameCenter ¶
func (r *Runtime) BeforeLinkGameCenter() RuntimeBeforeLinkGameCenterFunction
func (*Runtime) BeforeLinkGoogle ¶
func (r *Runtime) BeforeLinkGoogle() RuntimeBeforeLinkGoogleFunction
func (*Runtime) BeforeLinkSteam ¶
func (r *Runtime) BeforeLinkSteam() RuntimeBeforeLinkSteamFunction
func (*Runtime) BeforeListChannelMessages ¶
func (r *Runtime) BeforeListChannelMessages() RuntimeBeforeListChannelMessagesFunction
func (*Runtime) BeforeListFriends ¶
func (r *Runtime) BeforeListFriends() RuntimeBeforeListFriendsFunction
func (*Runtime) BeforeListGroupUsers ¶
func (r *Runtime) BeforeListGroupUsers() RuntimeBeforeListGroupUsersFunction
func (*Runtime) BeforeListGroups ¶
func (r *Runtime) BeforeListGroups() RuntimeBeforeListGroupsFunction
func (*Runtime) BeforeListLeaderboardRecords ¶
func (r *Runtime) BeforeListLeaderboardRecords() RuntimeBeforeListLeaderboardRecordsFunction
func (*Runtime) BeforeListLeaderboardRecordsAroundOwner ¶
func (r *Runtime) BeforeListLeaderboardRecordsAroundOwner() RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
func (*Runtime) BeforeListMatches ¶
func (r *Runtime) BeforeListMatches() RuntimeBeforeListMatchesFunction
func (*Runtime) BeforeListNotifications ¶
func (r *Runtime) BeforeListNotifications() RuntimeBeforeListNotificationsFunction
func (*Runtime) BeforeListStorageObjects ¶
func (r *Runtime) BeforeListStorageObjects() RuntimeBeforeListStorageObjectsFunction
func (*Runtime) BeforeListTournamentRecords ¶
func (r *Runtime) BeforeListTournamentRecords() RuntimeBeforeListTournamentRecordsFunction
func (*Runtime) BeforeListTournamentRecordsAroundOwner ¶
func (r *Runtime) BeforeListTournamentRecordsAroundOwner() RuntimeBeforeListTournamentRecordsAroundOwnerFunction
func (*Runtime) BeforeListTournaments ¶
func (r *Runtime) BeforeListTournaments() RuntimeBeforeListTournamentsFunction
func (*Runtime) BeforeListUserGroups ¶
func (r *Runtime) BeforeListUserGroups() RuntimeBeforeListUserGroupsFunction
func (*Runtime) BeforePromoteGroupUsers ¶
func (r *Runtime) BeforePromoteGroupUsers() RuntimeBeforePromoteGroupUsersFunction
func (*Runtime) BeforeReadStorageObjects ¶
func (r *Runtime) BeforeReadStorageObjects() RuntimeBeforeReadStorageObjectsFunction
func (*Runtime) BeforeRt ¶
func (r *Runtime) BeforeRt(id string) RuntimeBeforeRtFunction
func (*Runtime) BeforeUnlinkCustom ¶
func (r *Runtime) BeforeUnlinkCustom() RuntimeBeforeUnlinkCustomFunction
func (*Runtime) BeforeUnlinkDevice ¶
func (r *Runtime) BeforeUnlinkDevice() RuntimeBeforeUnlinkDeviceFunction
func (*Runtime) BeforeUnlinkEmail ¶
func (r *Runtime) BeforeUnlinkEmail() RuntimeBeforeUnlinkEmailFunction
func (*Runtime) BeforeUnlinkFacebook ¶
func (r *Runtime) BeforeUnlinkFacebook() RuntimeBeforeUnlinkFacebookFunction
func (*Runtime) BeforeUnlinkGameCenter ¶
func (r *Runtime) BeforeUnlinkGameCenter() RuntimeBeforeUnlinkGameCenterFunction
func (*Runtime) BeforeUnlinkGoogle ¶
func (r *Runtime) BeforeUnlinkGoogle() RuntimeBeforeUnlinkGoogleFunction
func (*Runtime) BeforeUnlinkSteam ¶
func (r *Runtime) BeforeUnlinkSteam() RuntimeBeforeUnlinkSteamFunction
func (*Runtime) BeforeUpdateAccount ¶
func (r *Runtime) BeforeUpdateAccount() RuntimeBeforeUpdateAccountFunction
func (*Runtime) BeforeUpdateGroup ¶
func (r *Runtime) BeforeUpdateGroup() RuntimeBeforeUpdateGroupFunction
func (*Runtime) BeforeWriteLeaderboardRecord ¶
func (r *Runtime) BeforeWriteLeaderboardRecord() RuntimeBeforeWriteLeaderboardRecordFunction
func (*Runtime) BeforeWriteStorageObjects ¶
func (r *Runtime) BeforeWriteStorageObjects() RuntimeBeforeWriteStorageObjectsFunction
func (*Runtime) BeforeWriteTournamentRecord ¶
func (r *Runtime) BeforeWriteTournamentRecord() RuntimeBeforeWriteTournamentRecordFunction
func (*Runtime) EventSessionEnd ¶
func (r *Runtime) EventSessionEnd() RuntimeEventSessionEndFunction
func (*Runtime) EventSessionStart ¶
func (r *Runtime) EventSessionStart() RuntimeEventSessionStartFunction
func (*Runtime) LeaderboardReset ¶
func (r *Runtime) LeaderboardReset() RuntimeLeaderboardResetFunction
func (*Runtime) MatchCreateFunction ¶
func (r *Runtime) MatchCreateFunction() RuntimeMatchCreateFunction
func (*Runtime) MatchmakerMatched ¶
func (r *Runtime) MatchmakerMatched() RuntimeMatchmakerMatchedFunction
func (*Runtime) Rpc ¶
func (r *Runtime) Rpc(id string) RuntimeRpcFunction
func (*Runtime) TournamentEnd ¶
func (r *Runtime) TournamentEnd() RuntimeTournamentEndFunction
func (*Runtime) TournamentReset ¶
func (r *Runtime) TournamentReset() RuntimeTournamentResetFunction
type RuntimeAfterReqFunctions ¶
type RuntimeAfterReqFunctions struct {
// contains filtered or unexported fields
}
type RuntimeAfterRtFunction ¶
type RuntimeBeforeReqFunctions ¶
type RuntimeBeforeReqFunctions struct {
// contains filtered or unexported fields
}
type RuntimeBeforeRtFunction ¶
type RuntimeConfig ¶
type RuntimeConfig struct { Environment map[string]string `yaml:"-" json:"-"` Env []string `yaml:"env" json:"env" usage:"Values to pass into Runtime as environment variables."` Path string `yaml:"path" json:"path" usage:"Path for the server to scan for Lua and Go library files."` HTTPKey string `yaml:"http_key" json:"http_key" usage:"Runtime HTTP Invocation key."` MinCount int `yaml:"min_count" json:"min_count" usage:"Minimum number of runtime instances to allocate. Default 16."` MaxCount int `yaml:"max_count" json:"max_count" usage:"Maximum number of runtime instances to allocate. Default 256."` CallStackSize int `yaml:"call_stack_size" json:"call_stack_size" usage:"Size of each runtime instance's call stack. Default 128."` RegistrySize int `yaml:"registry_size" json:"registry_size" usage:"Size of each runtime instance's registry. Default 512."` EventQueueSize int `yaml:"event_queue_size" json:"event_queue_size" usage:"Size of the event queue buffer. Default 8192."` EventQueueWorkers int `` /* 134-byte string literal not displayed */ }
RuntimeConfig is configuration relevant to the Runtime Lua VM.
func NewRuntimeConfig ¶
func NewRuntimeConfig() *RuntimeConfig
NewRuntimeConfig creates a new RuntimeConfig struct.
type RuntimeEventFunction ¶
type RuntimeEventFunctions ¶
type RuntimeEventFunctions struct {
// contains filtered or unexported fields
}
type RuntimeEventQueue ¶
type RuntimeEventQueue struct {
// contains filtered or unexported fields
}
func NewRuntimeEventQueue ¶
func NewRuntimeEventQueue(logger *zap.Logger, config Config) *RuntimeEventQueue
func (*RuntimeEventQueue) Queue ¶
func (b *RuntimeEventQueue) Queue(fn func())
func (*RuntimeEventQueue) Stop ¶
func (b *RuntimeEventQueue) Stop()
type RuntimeExecutionMode ¶
type RuntimeExecutionMode int
const ( RuntimeExecutionModeEvent RuntimeExecutionMode = iota RuntimeExecutionModeRunOnce RuntimeExecutionModeRPC RuntimeExecutionModeBefore RuntimeExecutionModeAfter RuntimeExecutionModeMatch RuntimeExecutionModeMatchmaker RuntimeExecutionModeMatchCreate RuntimeExecutionModeTournamentEnd RuntimeExecutionModeTournamentReset RuntimeExecutionModeLeaderboardReset )
func (RuntimeExecutionMode) String ¶
func (e RuntimeExecutionMode) String() string
type RuntimeGoInitializer ¶
type RuntimeGoInitializer struct {
// contains filtered or unexported fields
}
func (*RuntimeGoInitializer) RegisterAfterAddFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAddGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateCustomRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateDeviceRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateEmailRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateFacebookRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateGameCenterRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateGoogleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateSteamRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterBlockFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BlockFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterCreateGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Group, in *api.CreateGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteLeaderboardRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteNotification ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteNotification(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteNotificationsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterGetAccount ¶
func (*RuntimeGoInitializer) RegisterAfterGetUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Users, in *api.GetUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterImportFacebookFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportFacebookFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterJoinGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterJoinTournament ¶
func (ri *RuntimeGoInitializer) RegisterAfterJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinTournamentRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterKickGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.KickGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLeaveGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LeaveGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkFacebookRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) error) error
func (*RuntimeGoInitializer) RegisterAfterListChannelMessages ¶
func (ri *RuntimeGoInitializer) RegisterAfterListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ChannelMessageList, in *api.ListChannelMessagesRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListFriends ¶
func (*RuntimeGoInitializer) RegisterAfterListGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.GroupUserList, in *api.ListGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListGroups ¶
func (ri *RuntimeGoInitializer) RegisterAfterListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.GroupList, in *api.ListGroupsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListLeaderboardRecords ¶
func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsAroundOwnerRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListMatches ¶
func (ri *RuntimeGoInitializer) RegisterAfterListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.MatchList, in *api.ListMatchesRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListNotifications ¶
func (ri *RuntimeGoInitializer) RegisterAfterListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.NotificationList, in *api.ListNotificationsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjectList, in *api.ListStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournamentRecords ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsAroundOwnerRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournaments ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentList, in *api.ListTournamentsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListUserGroups ¶
func (ri *RuntimeGoInitializer) RegisterAfterListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.UserGroupList, in *api.ListUserGroupsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterPromoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterPromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.PromoteGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterReadStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjects, in *api.ReadStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterRt ¶
func (*RuntimeGoInitializer) RegisterAfterUnlinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebook) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) error) error
func (*RuntimeGoInitializer) RegisterAfterUpdateAccount ¶
func (ri *RuntimeGoInitializer) RegisterAfterUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateAccountRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterUpdateGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecord, in *api.WriteLeaderboardRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjectAcks, in *api.WriteStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteTournamentRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecord, in *api.WriteTournamentRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterBeforeAddFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddFriendsRequest) (*api.AddFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAddGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddGroupUsersRequest) (*api.AddGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateCustomRequest) (*api.AuthenticateCustomRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateDeviceRequest) (*api.AuthenticateDeviceRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateEmailRequest) (*api.AuthenticateEmailRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateFacebookRequest) (*api.AuthenticateFacebookRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateGameCenterRequest) (*api.AuthenticateGameCenterRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateGoogleRequest) (*api.AuthenticateGoogleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateSteamRequest) (*api.AuthenticateSteamRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeBlockFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BlockFriendsRequest) (*api.BlockFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeCreateGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.CreateGroupRequest) (*api.CreateGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteFriendsRequest) (*api.DeleteFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteGroupRequest) (*api.DeleteGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteLeaderboardRecordRequest) (*api.DeleteLeaderboardRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteNotification ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteNotification(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteNotificationsRequest) (*api.DeleteNotificationsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteStorageObjectsRequest) (*api.DeleteStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeGetAccount ¶
func (*RuntimeGoInitializer) RegisterBeforeGetUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.GetUsersRequest) (*api.GetUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeImportFacebookFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportFacebookFriendsRequest) (*api.ImportFacebookFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeJoinGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinGroupRequest) (*api.JoinGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeJoinTournament ¶
func (ri *RuntimeGoInitializer) RegisterBeforeJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinTournamentRequest) (*api.JoinTournamentRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeKickGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.KickGroupUsersRequest) (*api.KickGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLeaveGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LeaveGroupRequest) (*api.LeaveGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkFacebookRequest) (*api.LinkFacebookRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) (*api.AccountSteam, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListChannelMessages ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListChannelMessagesRequest) (*api.ListChannelMessagesRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListFriends ¶
func (*RuntimeGoInitializer) RegisterBeforeListGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListGroupUsersRequest) (*api.ListGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListGroups ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListGroupsRequest) (*api.ListGroupsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListLeaderboardRecordsRequest) (*api.ListLeaderboardRecordsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.ListLeaderboardRecordsAroundOwnerRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListMatches ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListMatchesRequest) (*api.ListMatchesRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListNotifications ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListNotificationsRequest) (*api.ListNotificationsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListStorageObjectsRequest) (*api.ListStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournamentRecords ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentRecordsRequest) (*api.ListTournamentRecordsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.ListTournamentRecordsAroundOwnerRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournaments ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentsRequest) (*api.ListTournamentsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListUserGroups ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListUserGroupsRequest) (*api.ListUserGroupsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforePromoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforePromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.PromoteGroupUsersRequest) (*api.PromoteGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeReadStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ReadStorageObjectsRequest) (*api.ReadStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeRt ¶
func (*RuntimeGoInitializer) RegisterBeforeUnlinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebook) (*api.AccountFacebook, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) (*api.AccountSteam, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUpdateAccount ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateAccountRequest) (*api.UpdateAccountRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUpdateGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateGroupRequest) (*api.UpdateGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteLeaderboardRecordRequest) (*api.WriteLeaderboardRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteStorageObjectsRequest) (*api.WriteStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteTournamentRecordRequest) (*api.WriteTournamentRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterEventSessionEnd ¶
func (*RuntimeGoInitializer) RegisterEventSessionStart ¶
func (*RuntimeGoInitializer) RegisterLeaderboardReset ¶
func (ri *RuntimeGoInitializer) RegisterLeaderboardReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, leaderboard runtime.Leaderboard, reset int64) error) error
func (*RuntimeGoInitializer) RegisterMatch ¶
func (*RuntimeGoInitializer) RegisterMatchmakerMatched ¶
func (ri *RuntimeGoInitializer) RegisterMatchmakerMatched(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, entries []runtime.MatchmakerEntry) (string, error)) error
func (*RuntimeGoInitializer) RegisterRpc ¶
func (*RuntimeGoInitializer) RegisterTournamentEnd ¶
func (ri *RuntimeGoInitializer) RegisterTournamentEnd(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, tournament *api.Tournament, end, reset int64) error) error
func (*RuntimeGoInitializer) RegisterTournamentReset ¶
func (ri *RuntimeGoInitializer) RegisterTournamentReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, tournament *api.Tournament, end, reset int64) error) error
type RuntimeGoLogger ¶
type RuntimeGoLogger struct {
// contains filtered or unexported fields
}
func (*RuntimeGoLogger) Debug ¶
func (l *RuntimeGoLogger) Debug(format string, v ...interface{})
func (*RuntimeGoLogger) Error ¶
func (l *RuntimeGoLogger) Error(format string, v ...interface{})
func (*RuntimeGoLogger) Fatal ¶
func (l *RuntimeGoLogger) Fatal(v ...interface{})
func (*RuntimeGoLogger) Fatalf ¶
func (l *RuntimeGoLogger) Fatalf(format string, v ...interface{})
func (*RuntimeGoLogger) Fatalln ¶
func (l *RuntimeGoLogger) Fatalln(v ...interface{})
func (*RuntimeGoLogger) Info ¶
func (l *RuntimeGoLogger) Info(format string, v ...interface{})
func (*RuntimeGoLogger) Panic ¶
func (l *RuntimeGoLogger) Panic(v ...interface{})
func (*RuntimeGoLogger) Panicf ¶
func (l *RuntimeGoLogger) Panicf(format string, v ...interface{})
func (*RuntimeGoLogger) Panicln ¶
func (l *RuntimeGoLogger) Panicln(v ...interface{})
func (*RuntimeGoLogger) Print ¶
func (l *RuntimeGoLogger) Print(v ...interface{})
func (*RuntimeGoLogger) Printf ¶
func (l *RuntimeGoLogger) Printf(format string, v ...interface{})
func (*RuntimeGoLogger) Println ¶
func (l *RuntimeGoLogger) Println(v ...interface{})
func (*RuntimeGoLogger) Warn ¶
func (l *RuntimeGoLogger) Warn(format string, v ...interface{})
type RuntimeGoMatchCore ¶
type RuntimeGoMatchCore struct {
// contains filtered or unexported fields
}
func (*RuntimeGoMatchCore) BroadcastMessage ¶
func (*RuntimeGoMatchCore) BroadcastMessageDeferred ¶
func (*RuntimeGoMatchCore) Cancel ¶
func (r *RuntimeGoMatchCore) Cancel()
func (*RuntimeGoMatchCore) Label ¶
func (r *RuntimeGoMatchCore) Label() string
func (*RuntimeGoMatchCore) MatchInit ¶
func (r *RuntimeGoMatchCore) MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error)
func (*RuntimeGoMatchCore) MatchJoin ¶
func (r *RuntimeGoMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
func (*RuntimeGoMatchCore) MatchJoinAttempt ¶
func (*RuntimeGoMatchCore) MatchKick ¶
func (r *RuntimeGoMatchCore) MatchKick(presences []runtime.Presence) error
func (*RuntimeGoMatchCore) MatchLabelUpdate ¶
func (r *RuntimeGoMatchCore) MatchLabelUpdate(label string) error
func (*RuntimeGoMatchCore) MatchLeave ¶
func (r *RuntimeGoMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
func (*RuntimeGoMatchCore) MatchLoop ¶
func (r *RuntimeGoMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
func (*RuntimeGoMatchCore) MatchTerminate ¶
func (r *RuntimeGoMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
type RuntimeGoNakamaModule ¶
func NewRuntimeGoNakamaModule ¶
func NewRuntimeGoNakamaModule(logger *zap.Logger, db *sql.DB, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter) *RuntimeGoNakamaModule
func (*RuntimeGoNakamaModule) AccountDeleteId ¶
func (*RuntimeGoNakamaModule) AccountGetId ¶
func (*RuntimeGoNakamaModule) AccountUpdateId ¶
func (*RuntimeGoNakamaModule) AccountsGetId ¶
func (*RuntimeGoNakamaModule) AuthenticateCustom ¶
func (*RuntimeGoNakamaModule) AuthenticateDevice ¶
func (*RuntimeGoNakamaModule) AuthenticateEmail ¶
func (*RuntimeGoNakamaModule) AuthenticateFacebook ¶
func (*RuntimeGoNakamaModule) AuthenticateGameCenter ¶
func (*RuntimeGoNakamaModule) AuthenticateGoogle ¶
func (*RuntimeGoNakamaModule) AuthenticateSteam ¶
func (*RuntimeGoNakamaModule) AuthenticateTokenGenerate ¶
func (*RuntimeGoNakamaModule) GroupCreate ¶
func (*RuntimeGoNakamaModule) GroupDelete ¶
func (n *RuntimeGoNakamaModule) GroupDelete(ctx context.Context, id string) error
func (*RuntimeGoNakamaModule) GroupUpdate ¶
func (*RuntimeGoNakamaModule) GroupUsersKick ¶
func (*RuntimeGoNakamaModule) GroupUsersList ¶
func (n *RuntimeGoNakamaModule) GroupUsersList(ctx context.Context, id string) ([]*api.GroupUserList_GroupUser, error)
func (*RuntimeGoNakamaModule) GroupsGetId ¶
func (*RuntimeGoNakamaModule) LeaderboardCreate ¶
func (*RuntimeGoNakamaModule) LeaderboardDelete ¶
func (n *RuntimeGoNakamaModule) LeaderboardDelete(ctx context.Context, id string) error
func (*RuntimeGoNakamaModule) LeaderboardRecordDelete ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error
func (*RuntimeGoNakamaModule) LeaderboardRecordWrite ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}) (*api.LeaderboardRecord, error)
func (*RuntimeGoNakamaModule) LeaderboardRecordsList ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, expiry int64) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
func (*RuntimeGoNakamaModule) MatchCreate ¶
func (*RuntimeGoNakamaModule) NotificationSend ¶
func (*RuntimeGoNakamaModule) NotificationsSend ¶
func (n *RuntimeGoNakamaModule) NotificationsSend(ctx context.Context, notifications []*runtime.NotificationSend) error
func (*RuntimeGoNakamaModule) SessionDisconnect ¶
func (n *RuntimeGoNakamaModule) SessionDisconnect(ctx context.Context, sessionID, node string) error
func (*RuntimeGoNakamaModule) SetMatchCreateFn ¶
func (n *RuntimeGoNakamaModule) SetMatchCreateFn(fn RuntimeMatchCreateFunction)
func (*RuntimeGoNakamaModule) StorageDelete ¶
func (n *RuntimeGoNakamaModule) StorageDelete(ctx context.Context, deletes []*runtime.StorageDelete) error
func (*RuntimeGoNakamaModule) StorageList ¶
func (n *RuntimeGoNakamaModule) StorageList(ctx context.Context, userID, collection string, limit int, cursor string) ([]*api.StorageObject, string, error)
func (*RuntimeGoNakamaModule) StorageRead ¶
func (n *RuntimeGoNakamaModule) StorageRead(ctx context.Context, reads []*runtime.StorageRead) ([]*api.StorageObject, error)
func (*RuntimeGoNakamaModule) StorageWrite ¶
func (n *RuntimeGoNakamaModule) StorageWrite(ctx context.Context, writes []*runtime.StorageWrite) ([]*api.StorageObjectAck, error)
func (*RuntimeGoNakamaModule) StreamClose ¶
func (n *RuntimeGoNakamaModule) StreamClose(mode uint8, subject, subcontext, label string) error
func (*RuntimeGoNakamaModule) StreamCount ¶
func (n *RuntimeGoNakamaModule) StreamCount(mode uint8, subject, subcontext, label string) (int, error)
func (*RuntimeGoNakamaModule) StreamSend ¶
func (*RuntimeGoNakamaModule) StreamSendRaw ¶
func (*RuntimeGoNakamaModule) StreamUserGet ¶
func (n *RuntimeGoNakamaModule) StreamUserGet(mode uint8, subject, subcontext, label, userID, sessionID string) (runtime.PresenceMeta, error)
func (*RuntimeGoNakamaModule) StreamUserJoin ¶
func (*RuntimeGoNakamaModule) StreamUserKick ¶
func (*RuntimeGoNakamaModule) StreamUserLeave ¶
func (n *RuntimeGoNakamaModule) StreamUserLeave(mode uint8, subject, subcontext, label, userID, sessionID string) error
func (*RuntimeGoNakamaModule) StreamUserList ¶
func (*RuntimeGoNakamaModule) StreamUserUpdate ¶
func (*RuntimeGoNakamaModule) TournamentAddAttempt ¶
func (*RuntimeGoNakamaModule) TournamentCreate ¶
func (*RuntimeGoNakamaModule) TournamentDelete ¶
func (n *RuntimeGoNakamaModule) TournamentDelete(ctx context.Context, id string) error
func (*RuntimeGoNakamaModule) TournamentJoin ¶
func (n *RuntimeGoNakamaModule) TournamentJoin(ctx context.Context, id, ownerID, username string) error
func (*RuntimeGoNakamaModule) TournamentList ¶
func (n *RuntimeGoNakamaModule) TournamentList(ctx context.Context, categoryStart, categoryEnd, startTime, endTime, limit int, cursor string) (*api.TournamentList, error)
func (*RuntimeGoNakamaModule) TournamentRecordWrite ¶
func (n *RuntimeGoNakamaModule) TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}) (*api.LeaderboardRecord, error)
func (*RuntimeGoNakamaModule) TournamentRecordsHaystack ¶
func (n *RuntimeGoNakamaModule) TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int) ([]*api.LeaderboardRecord, error)
func (*RuntimeGoNakamaModule) UserGroupsList ¶
func (n *RuntimeGoNakamaModule) UserGroupsList(ctx context.Context, userID string) ([]*api.UserGroupList_UserGroup, error)
func (*RuntimeGoNakamaModule) UsersBanId ¶
func (n *RuntimeGoNakamaModule) UsersBanId(ctx context.Context, userIDs []string) error
func (*RuntimeGoNakamaModule) UsersGetId ¶
func (*RuntimeGoNakamaModule) UsersGetUsername ¶
func (*RuntimeGoNakamaModule) UsersUnbanId ¶
func (n *RuntimeGoNakamaModule) UsersUnbanId(ctx context.Context, userIDs []string) error
func (*RuntimeGoNakamaModule) WalletLedgerList ¶
func (n *RuntimeGoNakamaModule) WalletLedgerList(ctx context.Context, userID string) ([]runtime.WalletLedgerItem, error)
func (*RuntimeGoNakamaModule) WalletLedgerUpdate ¶
func (n *RuntimeGoNakamaModule) WalletLedgerUpdate(ctx context.Context, itemID string, metadata map[string]interface{}) (runtime.WalletLedgerItem, error)
func (*RuntimeGoNakamaModule) WalletUpdate ¶
func (*RuntimeGoNakamaModule) WalletsUpdate ¶
func (n *RuntimeGoNakamaModule) WalletsUpdate(ctx context.Context, updates []*runtime.WalletUpdate, updateLedger bool) error
type RuntimeLua ¶
type RuntimeLua struct {
// contains filtered or unexported fields
}
func (*RuntimeLua) GetCallback ¶
func (r *RuntimeLua) GetCallback(e RuntimeExecutionMode, key string) *lua.LFunction
func (*RuntimeLua) InvokeFunction ¶
func (*RuntimeLua) Stop ¶
func (r *RuntimeLua) Stop()
type RuntimeLuaCallbacks ¶
type RuntimeLuaLocalCache ¶
func NewRuntimeLuaLocalCache ¶
func NewRuntimeLuaLocalCache() *RuntimeLuaLocalCache
func (*RuntimeLuaLocalCache) Delete ¶
func (lc *RuntimeLuaLocalCache) Delete(key string)
func (*RuntimeLuaLocalCache) Put ¶
func (lc *RuntimeLuaLocalCache) Put(key, value string)
type RuntimeLuaMatchCore ¶
type RuntimeLuaMatchCore struct {
// contains filtered or unexported fields
}
func (*RuntimeLuaMatchCore) Cancel ¶
func (r *RuntimeLuaMatchCore) Cancel()
func (*RuntimeLuaMatchCore) Label ¶
func (r *RuntimeLuaMatchCore) Label() string
func (*RuntimeLuaMatchCore) MatchInit ¶
func (r *RuntimeLuaMatchCore) MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error)
func (*RuntimeLuaMatchCore) MatchJoin ¶
func (r *RuntimeLuaMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchJoinAttempt ¶
func (*RuntimeLuaMatchCore) MatchLeave ¶
func (r *RuntimeLuaMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchLoop ¶
func (r *RuntimeLuaMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchTerminate ¶
func (r *RuntimeLuaMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
type RuntimeLuaModule ¶
type RuntimeLuaModuleCache ¶
type RuntimeLuaModuleCache struct { Names []string Modules map[string]*RuntimeLuaModule }
func (*RuntimeLuaModuleCache) Add ¶
func (mc *RuntimeLuaModuleCache) Add(m *RuntimeLuaModule)
type RuntimeLuaNakamaModule ¶
type RuntimeLuaNakamaModule struct {
// contains filtered or unexported fields
}
func NewRuntimeLuaNakamaModule ¶
func NewRuntimeLuaNakamaModule(logger *zap.Logger, db *sql.DB, jsonpbUnmarshaler *jsonpb.Unmarshaler, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter, once *sync.Once, localCache *RuntimeLuaLocalCache, matchCreateFn RuntimeMatchCreateFunction, registerCallbackFn func(RuntimeExecutionMode, string, *lua.LFunction), announceCallbackFn func(RuntimeExecutionMode, string)) *RuntimeLuaNakamaModule
func (*RuntimeLuaNakamaModule) Loader ¶
func (n *RuntimeLuaNakamaModule) Loader(l *lua.LState) int
type RuntimeMatchCore ¶
type RuntimeMatchCore interface { MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, username, node string, metadata map[string]string) (interface{}, bool, string, error) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error) Label() string Cancel() }
func NewRuntimeGoMatchCore ¶
func NewRuntimeGoMatchCore(logger *zap.Logger, matchRegistry MatchRegistry, router MessageRouter, id uuid.UUID, node string, db *sql.DB, env map[string]string, nk runtime.NakamaModule, match runtime.Match) (RuntimeMatchCore, error)
func NewRuntimeLuaMatchCore ¶
func NewRuntimeLuaMatchCore(logger *zap.Logger, db *sql.DB, jsonpbUnmarshaler *jsonpb.Unmarshaler, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, streamManager StreamManager, router MessageRouter, stdLibs map[string]lua.LGFunction, once *sync.Once, localCache *RuntimeLuaLocalCache, goMatchCreateFn RuntimeMatchCreateFunction, id uuid.UUID, node string, name string) (RuntimeMatchCore, error)
type RuntimeMatchDeferMessageFunction ¶
type RuntimeMatchDeferMessageFunction func(msg *DeferredMessage) error
type RuntimeProviderLua ¶
type RuntimeProviderLua struct {
// contains filtered or unexported fields
}
func (*RuntimeProviderLua) Get ¶
func (rp *RuntimeProviderLua) Get(ctx context.Context) (*RuntimeLua, error)
func (*RuntimeProviderLua) LeaderboardReset ¶
func (rp *RuntimeProviderLua) LeaderboardReset(ctx context.Context, leaderboard runtime.Leaderboard, reset int64) error
func (*RuntimeProviderLua) MatchmakerMatched ¶
func (rp *RuntimeProviderLua) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
func (*RuntimeProviderLua) Put ¶
func (rp *RuntimeProviderLua) Put(r *RuntimeLua)
func (*RuntimeProviderLua) TournamentEnd ¶
func (rp *RuntimeProviderLua) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
func (*RuntimeProviderLua) TournamentReset ¶
func (rp *RuntimeProviderLua) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
type RuntimeRpcFunction ¶
type Scannable ¶
type Scannable interface {
Scan(dest ...interface{}) error
}
Interface to help utility functions accept either *sql.Row or *sql.Rows for scanning one row at a time.
type Session ¶
type Session interface { Logger() *zap.Logger ID() uuid.UUID UserID() uuid.UUID ClientIP() string ClientPort() string Context() context.Context Username() string SetUsername(string) Expiry() int64 Consume(func(logger *zap.Logger, session Session, envelope *rtapi.Envelope) bool) Format() SessionFormat Send(isStream bool, mode uint8, envelope *rtapi.Envelope) error SendBytes(isStream bool, mode uint8, payload []byte) error Close(reason string) }
func NewSessionWS ¶
func NewSessionWS(logger *zap.Logger, config Config, format SessionFormat, userID uuid.UUID, username string, expiry int64, clientIP string, clientPort string, jsonpbMarshaler *jsonpb.Marshaler, jsonpbUnmarshaler *jsonpb.Unmarshaler, conn *websocket.Conn, sessionRegistry SessionRegistry, matchmaker Matchmaker, tracker Tracker, runtime *Runtime) Session
type SessionConfig ¶
type SessionConfig struct { EncryptionKey string `yaml:"encryption_key" json:"encryption_key" usage:"The encryption key used to produce the client token."` TokenExpirySec int64 `yaml:"token_expiry_sec" json:"token_expiry_sec" usage:"Token expiry in seconds."` }
SessionConfig is configuration relevant to the session.
func NewSessionConfig ¶
func NewSessionConfig() *SessionConfig
NewSessionConfig creates a new SessionConfig struct.
type SessionFormat ¶
type SessionFormat uint8
const ( SessionFormatJson SessionFormat = iota SessionFormatProtobuf )
type SessionRegistry ¶
type SessionRegistry interface { Stop() Count() int Get(sessionID uuid.UUID) Session Add(session Session) Remove(sessionID uuid.UUID) Disconnect(ctx context.Context, sessionID uuid.UUID, node string) error }
func NewLocalSessionRegistry ¶
func NewLocalSessionRegistry() SessionRegistry
type SocialConfig ¶
type SocialConfig struct {
Steam *SocialConfigSteam `yaml:"steam" json:"steam" usage:"Steam configuration."`
}
SocialConfig is configuration relevant to the social authentication providers.
func NewSocialConfig ¶
func NewSocialConfig() *SocialConfig
NewSocialConfig creates a new SocialConfig struct.
type SocialConfigSteam ¶
type SocialConfigSteam struct { PublisherKey string `yaml:"publisher_key" json:"publisher_key" usage:"Steam Publisher Key value."` AppID int `yaml:"app_id" json:"app_id" usage:"Steam App ID."` }
SocialConfigSteam is configuration relevant to Steam
type SocketConfig ¶
type SocketConfig struct { ServerKey string `yaml:"server_key" json:"server_key" usage:"Server key to use to establish a connection to the server."` Port int `` /* 154-byte string literal not displayed */ Address string `` /* 156-byte string literal not displayed */ Protocol string `` /* 198-byte string literal not displayed */ MaxMessageSizeBytes int64 `` /* 201-byte string literal not displayed */ ReadTimeoutMs int `` /* 145-byte string literal not displayed */ WriteTimeoutMs int `` /* 157-byte string literal not displayed */ IdleTimeoutMs int `` /* 178-byte string literal not displayed */ WriteWaitMs int `` /* 156-byte string literal not displayed */ PongWaitMs int `` /* 156-byte string literal not displayed */ PingPeriodMs int `` /* 204-byte string literal not displayed */ PingBackoffThreshold int `` /* 293-byte string literal not displayed */ OutgoingQueueSize int `` /* 245-byte string literal not displayed */ SSLCertificate string `` /* 192-byte string literal not displayed */ SSLPrivateKey string `` /* 192-byte string literal not displayed */ CertPEMBlock []byte `yaml:"-" json:"-"` // Created by fully reading the file contents of SSLCertificate, not set from input args directly. KeyPEMBlock []byte `yaml:"-" json:"-"` // Created by fully reading the file contents of SSLPrivateKey, not set from input args directly. TLSCert []tls.Certificate `yaml:"-" json:"-"` // Created by processing CertPEMBlock and KeyPEMBlock, not set from input args directly. }
SocketConfig is configuration relevant to the transport socket and protocol.
func NewSocketConfig ¶
func NewSocketConfig() *SocketConfig
NewTransportConfig creates a new TransportConfig struct.
type StatusHandler ¶
type StatusHandler interface {
GetStatus(ctx context.Context) ([]*console.StatusList_Status, error)
}
func NewLocalStatusHandler ¶
func NewLocalStatusHandler(logger *zap.Logger, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, metricsExporter *MetricsExporter, node string) StatusHandler
type StorageOpDelete ¶
type StorageOpDelete struct { OwnerID string ObjectID *api.DeleteStorageObjectId }
type StorageOpDeletes ¶
type StorageOpDeletes []*StorageOpDelete
Internal representation for a batch of storage delete operations.
func (StorageOpDeletes) Len ¶
func (s StorageOpDeletes) Len() int
func (StorageOpDeletes) Less ¶
func (s StorageOpDeletes) Less(i, j int) bool
func (StorageOpDeletes) Swap ¶
func (s StorageOpDeletes) Swap(i, j int)
type StorageOpWrite ¶
type StorageOpWrite struct { OwnerID string Object *api.WriteStorageObject }
type StorageOpWrites ¶
type StorageOpWrites []*StorageOpWrite
Internal representation for a batch of storage write operations.
func (StorageOpWrites) Len ¶
func (s StorageOpWrites) Len() int
func (StorageOpWrites) Less ¶
func (s StorageOpWrites) Less(i, j int) bool
func (StorageOpWrites) Swap ¶
func (s StorageOpWrites) Swap(i, j int)
type StreamManager ¶
type StreamManager interface {
UserKick(userID, sessionID uuid.UUID, node string, stream PresenceStream) error
}
func NewLocalStreamManager ¶
func NewLocalStreamManager(config Config, sessionRegistry SessionRegistry, tracker Tracker) StreamManager
type Tracker ¶
type Tracker interface { SetMatchJoinListener(func(id uuid.UUID, joins []*MatchPresence)) SetMatchLeaveListener(func(id uuid.UUID, leaves []*MatchPresence)) Stop() // Track returns success true/false, and new presence true/false. Track(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta, allowIfFirstForSession bool) (bool, bool) Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) UntrackAll(sessionID uuid.UUID) // Update returns success true/false - will only fail if the user has no presence and allowIfFirstForSession is false, otherwise is an upsert. Update(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta, allowIfFirstForSession bool) bool // Remove all presences on a stream, effectively closing it. UntrackByStream(stream PresenceStream) // Remove all presences on a stream from the local node. UntrackLocalByStream(stream PresenceStream) // List the nodes that have at least one presence for the given stream. ListNodesForStream(stream PresenceStream) map[string]struct{} // Check if a stream exists (has any presences) or not. StreamExists(stream PresenceStream) bool // Get current total number of presences. Count() int // Get the number of presences in the given stream. CountByStream(stream PresenceStream) int // Get a snapshot of current presence counts for streams with one of the given stream modes. CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32 // Check if a single presence on the current node exists. GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta // Check if a single presence on any node exists. GetBySessionIDStreamUserID(node string, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta // List presences by stream, optionally include hidden ones and not hidden ones. ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence // Fast lookup of local session IDs to use for message delivery. ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID // Fast lookup of node + session IDs to use for message delivery. ListPresenceIDByStream(stream PresenceStream) []*PresenceID }
func StartLocalTracker ¶
type TrackerConfig ¶
type TrackerConfig struct {
EventQueueSize int `` /* 210-byte string literal not displayed */
}
TrackerConfig is configuration relevant to the presence tracker.
func NewTrackerConfig ¶
func NewTrackerConfig() *TrackerConfig
NewTrackerConfig creates a new TrackerConfig struct.
Source Files ¶
- api.go
- api_account.go
- api_authenticate.go
- api_channel.go
- api_friend.go
- api_group.go
- api_leaderboard.go
- api_link.go
- api_match.go
- api_notification.go
- api_rpc.go
- api_storage.go
- api_tournament.go
- api_unlink.go
- api_user.go
- config.go
- console.go
- console_account.go
- console_authenticate.go
- console_config.go
- console_status.go
- console_storage.go
- console_unlink.go
- console_user.go
- core_account.go
- core_authenticate.go
- core_channel.go
- core_friend.go
- core_group.go
- core_leaderboard.go
- core_notification.go
- core_storage.go
- core_tournament.go
- core_user.go
- core_wallet.go
- db.go
- leaderboard_cache.go
- leaderboard_rank_cache.go
- leaderboard_scheduler.go
- logger.go
- match_handler.go
- match_presence.go
- match_registry.go
- matchmaker.go
- message_router.go
- metrics.go
- metrics_exporter.go
- pipeline.go
- pipeline_channel.go
- pipeline_match.go
- pipeline_matchmaker.go
- pipeline_rpc.go
- pipeline_status.go
- runtime.go
- runtime_event.go
- runtime_go.go
- runtime_go_context.go
- runtime_go_logger.go
- runtime_go_match_core.go
- runtime_go_nakama.go
- runtime_lua.go
- runtime_lua_bit32.go
- runtime_lua_context.go
- runtime_lua_loadlib.go
- runtime_lua_localcache.go
- runtime_lua_match_core.go
- runtime_lua_nakama.go
- runtime_lua_oslib.go
- runtime_lua_utils.go
- session_registry.go
- session_ws.go
- socket_ws.go
- status_handler.go
- stream_manager.go
- tracker.go