hid: cleanups

This commit is contained in:
Přemysl Eric Janouch 2018-08-03 21:12:45 +02:00
parent 4fa84cc877
commit 01c3933a07
Signed by: p
GPG Key ID: A0420B94F92B9493
1 changed files with 31 additions and 22 deletions

View File

@ -748,26 +748,29 @@ type writeEvent struct {
err error // write error err error // write error
} }
// TODO: Port server_context. Maybe we want to keep it in a struct? A better // TODO: Maybe we want to keep it in a struct?
// question might be: can we run multiple instances of it? // A better question might be: can we run multiple instances of it?
var (
// network
listeners []net.Listener
clients = make(map[*client]bool)
// IRC state
// XXX: Beware that maps with identifier keys need to be indexed correctly. // XXX: Beware that maps with identifier keys need to be indexed correctly.
// We might want to enforce accessor functions for users and channels. // We might want to enforce accessor functions for users and channels.
var (
started time.Time // when has the server been started
started time.Time // when the server has been started
users = make(map[string]*client) // maps nicknames to clients users = make(map[string]*client) // maps nicknames to clients
channels = make(map[string]*channel) // maps channel names to data channels = make(map[string]*channel) // maps channel names to data
whowas = make(map[string]*whowasInfo) // WHOWAS registry whowas = make(map[string]*whowasInfo) // WHOWAS registry
config simpleConfig // server configuration // event loop
serverName string // our server name
pingInterval time.Duration // ping interval quitting bool
maxConnections int // max connections allowed or 0 quitTimer <-chan time.Time
motd []string // MOTD (none if empty)
operators = make(map[string]bool) // TLS cert. fingerprints for IRCops
)
var (
sigs = make(chan os.Signal, 1) sigs = make(chan os.Signal, 1)
conns = make(chan net.Conn) conns = make(chan net.Conn)
prepared = make(chan preparedEvent) prepared = make(chan preparedEvent)
@ -775,11 +778,16 @@ var (
writes = make(chan writeEvent) writes = make(chan writeEvent)
timers = make(chan func()) timers = make(chan func())
tlsConf *tls.Config // configuration
clients = make(map[*client]bool)
listeners []net.Listener config simpleConfig // server configuration
quitting bool tlsConf *tls.Config // TLS connection configuration
quitTimer <-chan time.Time serverName string // our server name
pingInterval time.Duration // ping interval
maxConnections int // max connections allowed or 0
motd []string // MOTD (none if empty)
catalog map[int]string // message catalog for server msgs
operators map[string]bool // TLS certificate fingerprints for IRCops
) )
// Forcefully tear down all connections. // Forcefully tear down all connections.
@ -1077,7 +1085,8 @@ func (c *client) makeReply(id int, ap ...interface{}) string {
return s + a return s + a
} }
// XXX: This way we cannot typecheck the arguments, so we should be careful. // XXX: This way simple static analysis cannot typecheck the arguments, so we
// need to be careful.
func (c *client) sendReply(id int, args ...interface{}) { func (c *client) sendReply(id int, args ...interface{}) {
c.send(c.makeReply(id, args...)) c.send(c.makeReply(id, args...))
} }
@ -3152,12 +3161,12 @@ func ircInitializeMOTD() error {
return nil return nil
} }
pathMOTD := resolveFilename(configMOTD, resolveRelativeConfigFilename) path := resolveFilename(configMOTD, resolveRelativeConfigFilename)
if pathMOTD == "" { if path == "" {
return fmt.Errorf("cannot find file: %s", configMOTD) return fmt.Errorf("cannot find file: %s", configMOTD)
} }
f, err := os.Open(pathMOTD) f, err := os.Open(path)
if err != nil { if err != nil {
return fmt.Errorf("failed reading the MOTD file: %s", err) return fmt.Errorf("failed reading the MOTD file: %s", err)
} }