code: func (ctl *HandshakeController) alertHandshake(pubkeyid string, symkeys []string) chan []string {
  	ctl.keyCMu.Lock()
  	defer ctl.keyCMu.Unlock()
  	if len(symkeys) > 0 {
  		if _, ok := ctl.keyC[pubkeyid]; ok {
  			ctl.keyC[pubkeyid] <- symkeys
  			close(ctl.keyC[pubkeyid])
  			delete(ctl.keyC, pubkeyid)
  		}
  		return nil
  	}
  	if _, ok := ctl.keyC[pubkeyid]; !ok {
  		ctl.keyC[pubkeyid] = make(chan []string)
  	}
  	return ctl.keyC[pubkeyid]
  }
docs: // Enables callback for keys received from a key exchange request