Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterStore(name string, initializer DataStoreInit)
- type DataStore
- type DataStoreInit
- type LevelDataStore
- func (lds *LevelDataStore) AddFriend(u *User, f *User) error
- func (lds *LevelDataStore) Close()
- func (lds *LevelDataStore) DeleteServer(s *Server) error
- func (lds *LevelDataStore) DeleteUser(u *User) error
- func (lds *LevelDataStore) GetFriends(u *User) ([]*User, error)
- func (lds *LevelDataStore) GetServer(serverAddr string) (*Server, error)
- func (lds *LevelDataStore) GetServers() ([]*Server, error)
- func (lds *LevelDataStore) GetUser(username string) (*User, error)
- func (lds *LevelDataStore) GetUsers(sort string, limit int, skip int) ([]*User, error)
- func (lds *LevelDataStore) GetUsersAdjacent(user *User, sort string, spread int) ([]*User, error)
- func (lds *LevelDataStore) NumServers() (int, error)
- func (lds *LevelDataStore) NumUsers() (int, error)
- func (lds *LevelDataStore) PutServer(s *Server) error
- func (lds *LevelDataStore) PutUser(u *User) error
- func (lds *LevelDataStore) RemoveFriend(u *User, f *User) error
- type NoneDataStore
- func (n *NoneDataStore) AddFriend(*User, *User) error
- func (n *NoneDataStore) Close()
- func (n *NoneDataStore) DeleteServer(*Server) error
- func (n *NoneDataStore) DeleteUser(*User) error
- func (n *NoneDataStore) GetFriends(*User) ([]*User, error)
- func (n *NoneDataStore) GetServer(string) (*Server, error)
- func (n *NoneDataStore) GetServers() ([]*Server, error)
- func (n *NoneDataStore) GetUser(string) (*User, error)
- func (n *NoneDataStore) GetUsers(string, int, int) ([]*User, error)
- func (n *NoneDataStore) GetUsersAdjacent(*User, string, int) ([]*User, error)
- func (n *NoneDataStore) NumServers() (int, error)
- func (n *NoneDataStore) NumUsers() (int, error)
- func (n *NoneDataStore) PutServer(*Server) error
- func (n *NoneDataStore) PutUser(*User) error
- func (n *NoneDataStore) RemoveFriend(*User, *User) error
- type Server
- type User
- type UserStatus
Constants ¶
View Source
const ( SORT_NONE = "none" SORT_KILLS = "kills" SORT_DEATHS = "deaths" SORT_SCORE = "score" SORT_WINS = "wins" SORT_LOSSES = "losses" SORT_PLAYS = "plays" )
View Source
const ( STORE_LEVELDB = "leveldb" LEVELDB_VERSION = 1 LEVEL_ENCODER_GOB = "gob" LEVEL_ENCODER_MSGPAK = "msgpack" )
View Source
const (
STORE_NONE = "none"
)
Variables ¶
View Source
var ErrServerNotFound = fmt.Errorf("Server not found.")
View Source
var ErrUserNotFound = fmt.Errorf("User not found.")
Functions ¶
func RegisterStore ¶
func RegisterStore(name string, initializer DataStoreInit)
Types ¶
type DataStore ¶
type DataStore interface {
GetUsers(string, int, int) ([]*User, error)
GetUsersAdjacent(*User, string, int) ([]*User, error)
GetUser(string) (*User, error)
PutUser(*User) error
DeleteUser(*User) error
NumUsers() (int, error)
GetServers() ([]*Server, error)
GetServer(string) (*Server, error)
PutServer(*Server) error
DeleteServer(*Server) error
NumServers() (int, error)
GetFriends(*User) ([]*User, error)
AddFriend(*User, *User) error
RemoveFriend(*User, *User) error
Close()
}
type DataStoreInit ¶
func GetStore ¶
func GetStore(name string) (DataStoreInit, error)
type LevelDataStore ¶
type LevelDataStore struct {
// contains filtered or unexported fields
}
func (*LevelDataStore) Close ¶
func (lds *LevelDataStore) Close()
func (*LevelDataStore) DeleteServer ¶
func (lds *LevelDataStore) DeleteServer(s *Server) error
func (*LevelDataStore) DeleteUser ¶
func (lds *LevelDataStore) DeleteUser(u *User) error
func (*LevelDataStore) GetFriends ¶
func (lds *LevelDataStore) GetFriends(u *User) ([]*User, error)
func (*LevelDataStore) GetServer ¶
func (lds *LevelDataStore) GetServer(serverAddr string) (*Server, error)
func (*LevelDataStore) GetServers ¶
func (lds *LevelDataStore) GetServers() ([]*Server, error)
func (*LevelDataStore) GetUsersAdjacent ¶
func (*LevelDataStore) NumServers ¶
func (lds *LevelDataStore) NumServers() (int, error)
func (*LevelDataStore) NumUsers ¶
func (lds *LevelDataStore) NumUsers() (int, error)
func (*LevelDataStore) PutServer ¶
func (lds *LevelDataStore) PutServer(s *Server) error
func (*LevelDataStore) PutUser ¶
func (lds *LevelDataStore) PutUser(u *User) error
func (*LevelDataStore) RemoveFriend ¶
func (lds *LevelDataStore) RemoveFriend(u *User, f *User) error
type NoneDataStore ¶
type NoneDataStore struct{}
func (*NoneDataStore) Close ¶
func (n *NoneDataStore) Close()
func (*NoneDataStore) DeleteServer ¶
func (n *NoneDataStore) DeleteServer(*Server) error
func (*NoneDataStore) DeleteUser ¶
func (n *NoneDataStore) DeleteUser(*User) error
func (*NoneDataStore) GetFriends ¶
func (n *NoneDataStore) GetFriends(*User) ([]*User, error)
func (*NoneDataStore) GetServers ¶
func (n *NoneDataStore) GetServers() ([]*Server, error)
func (*NoneDataStore) GetUsersAdjacent ¶
func (*NoneDataStore) NumServers ¶
func (n *NoneDataStore) NumServers() (int, error)
func (*NoneDataStore) NumUsers ¶
func (n *NoneDataStore) NumUsers() (int, error)
func (*NoneDataStore) PutServer ¶
func (n *NoneDataStore) PutServer(*Server) error
func (*NoneDataStore) PutUser ¶
func (n *NoneDataStore) PutUser(*User) error
func (*NoneDataStore) RemoveFriend ¶
func (n *NoneDataStore) RemoveFriend(*User, *User) error
type Server ¶
type Server struct {
Hostname string `json:"hostname" msgpack:"h"`
Port int `json:"port" msgpack:"p"`
Users int64 `json:"users" msgpack:"u"`
Slots int `json:"slots" msgpack:"s"`
Name string `json:"name" msgpack:"n"`
Mode string `json:"mode" msgpack:"m"`
ForceAuth bool `json:"force_auth" msgpack:"fa"`
Updated time.Time `json:"updated" msgpack:"up"`
}
type User ¶
type User struct {
Id []byte `msgpack:"id" json:"-"`
Name string `msgpack:"n" json:"name"`
Password []byte `msgpack:"p" json:"-"`
Status *UserStatus `msgpack:"us" json:"status"`
Kills int64 `msgpack:"k" json:"kills"`
Deaths int64 `msgpack:"d" json:"deaths"`
Score int64 `msgpack:"s" json:"score"`
Wins int64 `msgpack:"w" json:"wins"`
Losses int64 `msgpack:"l" json:"losses"`
Plays int64 `msgpack:"pl" json:"games_played"`
Temporary bool `msgpack:"tmp" json:"temporary"`
}
func (*User) CheckPassword ¶
type UserStatus ¶
Click to show internal directories.
Click to hide internal directories.