code: func (ids *IDService) IdentifyWait(c inet.Conn) <-chan struct{} {
  	ids.currmu.Lock()
  	ch, found := ids.currid[c]
  	ids.currmu.Unlock()
  	if found {
  		return ch
  	}
  
  	// if not found, it means we are already done identifying it, or
  	// haven't even started. either way, return a new channel closed.
  	ch = make(chan struct{})
  	close(ch)
  	return ch
  }
docs: // IdentifyWait returns a channel which will be closed once
  // "ProtocolIdentify" (handshake3) finishes on given conn.
  // This happens async so the connection can start to be used
  // even if handshake3 knowledge is not necesary.
  // Users **MUST** call IdentifyWait _after_ IdentifyConn