}
const (
- agreementFile = "Agreement.txt"
+ agreementFile = "Agreement.txt"
)
// NewServer constructs a new Server from a config dir
defer s.mux.Unlock()
var connectedUsers []Field
- for _, c := range s.Clients {
+ for _, c := range sortedClients(s.Clients) {
user := User{
ID: *c.ID,
Icon: *c.Icon,
}
for _, file := range matches {
- fh, err := os.Open(file)
+ fh, err := FS.Open(file)
if err != nil {
return err
}
}
func (s *Server) loadConfig(path string) error {
- fh, err := os.Open(path)
+ fh, err := FS.Open(path)
if err != nil {
return err
}
return err
}
- file, err := os.Open(path)
+ file, err := FS.Open(path)
if err != nil {
return err
}
}
}
-
// sortedClients is a utility function that takes a map of *ClientConn and returns a sorted slice of the values.
// The purpose of this is to ensure that the ordering of client connections is deterministic so that test assertions work.
func sortedClients(unsortedClients map[uint16]*ClientConn) (clients []*ClientConn) {