Example #1
0
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
	}
}