X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=daemon.go;h=2cb215390b1ce0bcada4cd0f63d302834f40697f;hb=54d2fcb9cbab1e5693b83b9c506bc0aca74dd90c;hp=a5b2d77dcd822d257132fe045cee53473bf89757;hpb=cda982f7e9e853d8c6e56b14a43deb30aa5830ef;p=goircd.git diff --git a/daemon.go b/daemon.go index a5b2d77..2cb2153 100644 --- a/daemon.go +++ b/daemon.go @@ -46,11 +46,11 @@ type Daemon struct { rooms map[string]*Room room_sinks map[*Room]chan ClientEvent last_aliveness_check time.Time - log_sink chan LogEvent - state_sink chan StateEvent + log_sink chan<- LogEvent + state_sink chan<- StateEvent } -func NewDaemon(hostname, motd string, log_sink chan LogEvent, state_sink chan StateEvent) *Daemon { +func NewDaemon(hostname, motd string, log_sink chan<- LogEvent, state_sink chan<- StateEvent) *Daemon { daemon := Daemon{hostname: hostname, motd: motd} daemon.clients = make(map[*Client]bool) daemon.rooms = make(map[string]*Room) @@ -101,7 +101,7 @@ func (daemon *Daemon) SendWhois(client *Client, nicknames []string) { nickname = strings.ToLower(nickname) found := false for c := range daemon.clients { - if c.nickname != nickname { + if strings.ToLower(c.nickname) != nickname { continue } found = true @@ -195,7 +195,7 @@ func (daemon *Daemon) ClientRegister(client *Client, command string, cols []stri // Register new room in Daemon. Create an object, events sink, save pointers // to corresponding daemon's places and start room's processor goroutine. -func (daemon *Daemon) RoomRegister(name string) (*Room, chan ClientEvent) { +func (daemon *Daemon) RoomRegister(name string) (*Room, chan<- ClientEvent) { room_new := NewRoom(daemon.hostname, name, daemon.log_sink, daemon.state_sink) room_sink := make(chan ClientEvent) daemon.rooms[name] = room_new @@ -252,7 +252,7 @@ func (daemon *Daemon) HandlerJoin(client *Client, cmd string) { } } -func (daemon *Daemon) Processor(events chan ClientEvent) { +func (daemon *Daemon) Processor(events <-chan ClientEvent) { for event := range events { // Check for clients aliveness