code: func (t *Torrent) seeding() bool {
  	cl := t.cl
  	if t.closed.IsSet() {
  		return false
  	}
  	if cl.config.NoUpload {
  		return false
  	}
  	if !cl.config.Seed {
  		return false
  	}
  	if cl.config.DisableAggressiveUpload && t.needData() {
  		return false
  	}
  	return true
  }
docs: // Returns whether the client should make effort to seed the torrent.