func (c *Client) queueAnswer(ans *message.Answer) { var ch chan *message.Answer switch ans.MexType { case message.Identity: c.id = ans.Id() ch = c.incomingId case message.List: c.lastClientList = ans.List() ch = c.incomingList case message.Relay: ch = c.incomingRelay default: log.Println("Client", c.Id(), "Received unknown answer", ans.MexType) return } //Exit if client closes select { case ch <- ans: return case <-c.quitting: return } }