code: func (tm *tokenManager) token(addr *net.UDPAddr) string {
  	v, ok := tm.Get(addr.IP.String())
  	tk, _ := v.(token)
  
  	if !ok || time.Now().Sub(tk.createTime) > tm.expiredAfter {
  		tk = token{
  			data:       randomString(5),
  			createTime: time.Now(),
  		}
  
  		tm.Set(addr.IP.String(), tk)
  	}
  
  	return tk.data
  }
docs: // token returns a token. If it doesn't exist or is expired, it will add a
  // new token.