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.