1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-01-01 04:26:34 +00:00

refactor: make tr_session.is_incomplete_file_naming_enabled_ private (#3642)

* refactor: make tr_session.is_incomplete_file_naming_enabled_ private

* refactor: make session callback setters constexpr

* refactor: make tr_session.is_port_random_ private

* refactor: make tr_session.desired_ratio_ private

* refactor: make tr_session.is_pex_enabled_ private

* refactor: make tr_session.is_idle_limited_ private
This commit is contained in:
Charles Kerr 2022-08-14 19:33:28 -05:00 committed by GitHub
parent 44a291ca39
commit a4c1a23fae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 74 additions and 43 deletions

View file

@ -88,7 +88,7 @@ bool getFilename(tr_pathbuf& setme, tr_torrent const* tor, tr_file_index_t file_
// We didn't find the file that we want to write to. // We didn't find the file that we want to write to.
// Let's figure out where it goes so that we can create it. // Let's figure out where it goes so that we can create it.
auto const base = tor->currentDir(); auto const base = tor->currentDir();
auto const suffix = tor->session->isIncompleteFileNamingEnabled ? tr_torrent_files::PartialFileSuffix : ""sv; auto const suffix = tor->session->isIncompleteFileNamingEnabled() ? tr_torrent_files::PartialFileSuffix : ""sv;
setme.assign(base, '/', tor->fileSubpath(file_index), suffix); setme.assign(base, '/', tor->fileSubpath(file_index), suffix);
return true; return true;
} }

View file

@ -2184,7 +2184,7 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_pex_enabled: case TR_KEY_pex_enabled:
tr_variantDictAddBool(d, key, tr_sessionIsPexEnabled(s)); tr_variantDictAddBool(d, key, s->allowsPEX());
break; break;
case TR_KEY_utp_enabled: case TR_KEY_utp_enabled:
@ -2192,11 +2192,11 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_dht_enabled: case TR_KEY_dht_enabled:
tr_variantDictAddBool(d, key, tr_sessionIsDHTEnabled(s)); tr_variantDictAddBool(d, key, s->allowsDHT());
break; break;
case TR_KEY_lpd_enabled: case TR_KEY_lpd_enabled:
tr_variantDictAddBool(d, key, tr_sessionIsLPDEnabled(s)); tr_variantDictAddBool(d, key, s->allowsLPD());
break; break;
case TR_KEY_peer_port: case TR_KEY_peer_port:
@ -2204,7 +2204,7 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_peer_port_random_on_start: case TR_KEY_peer_port_random_on_start:
tr_variantDictAddBool(d, key, tr_sessionGetPeerPortRandomOnStart(s)); tr_variantDictAddBool(d, key, s->isPortRandom());
break; break;
case TR_KEY_port_forwarding_enabled: case TR_KEY_port_forwarding_enabled:
@ -2212,7 +2212,7 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_rename_partial_files: case TR_KEY_rename_partial_files:
tr_variantDictAddBool(d, key, tr_sessionIsIncompleteFileNamingEnabled(s)); tr_variantDictAddBool(d, key, s->isIncompleteFileNamingEnabled());
break; break;
case TR_KEY_rpc_version: case TR_KEY_rpc_version:
@ -2228,7 +2228,7 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_seedRatioLimit: case TR_KEY_seedRatioLimit:
tr_variantDictAddReal(d, key, tr_sessionGetRatioLimit(s)); tr_variantDictAddReal(d, key, s->desiredRatio());
break; break;
case TR_KEY_seedRatioLimited: case TR_KEY_seedRatioLimited:
@ -2240,7 +2240,7 @@ static void addSessionField(tr_session const* s, tr_variant* d, tr_quark key)
break; break;
case TR_KEY_idle_seeding_limit_enabled: case TR_KEY_idle_seeding_limit_enabled:
tr_variantDictAddBool(d, key, tr_sessionIsIdleLimited(s)); tr_variantDictAddBool(d, key, s->isIdleLimited());
break; break;
case TR_KEY_seed_queue_enabled: case TR_KEY_seed_queue_enabled:

View file

@ -406,21 +406,21 @@ void tr_sessionGetSettings(tr_session const* s, tr_variant* setme_dictionary)
tr_variantDictAddInt(d, TR_KEY_peer_limit_global, s->peerLimit()); tr_variantDictAddInt(d, TR_KEY_peer_limit_global, s->peerLimit());
tr_variantDictAddInt(d, TR_KEY_peer_limit_per_torrent, s->peerLimitPerTorrent()); tr_variantDictAddInt(d, TR_KEY_peer_limit_per_torrent, s->peerLimitPerTorrent());
tr_variantDictAddInt(d, TR_KEY_peer_port, s->peerPort().host()); tr_variantDictAddInt(d, TR_KEY_peer_port, s->peerPort().host());
tr_variantDictAddBool(d, TR_KEY_peer_port_random_on_start, s->isPortRandom); tr_variantDictAddBool(d, TR_KEY_peer_port_random_on_start, s->isPortRandom());
tr_variantDictAddInt(d, TR_KEY_peer_port_random_low, s->random_port_low_.host()); tr_variantDictAddInt(d, TR_KEY_peer_port_random_low, s->random_port_low_.host());
tr_variantDictAddInt(d, TR_KEY_peer_port_random_high, s->random_port_high_.host()); tr_variantDictAddInt(d, TR_KEY_peer_port_random_high, s->random_port_high_.host());
tr_variantDictAddStr(d, TR_KEY_peer_socket_tos, tr_netTosToName(s->peer_socket_tos_)); tr_variantDictAddStr(d, TR_KEY_peer_socket_tos, tr_netTosToName(s->peer_socket_tos_));
tr_variantDictAddStr(d, TR_KEY_peer_congestion_algorithm, s->peerCongestionAlgorithm()); tr_variantDictAddStr(d, TR_KEY_peer_congestion_algorithm, s->peerCongestionAlgorithm());
tr_variantDictAddBool(d, TR_KEY_pex_enabled, s->isPexEnabled); tr_variantDictAddBool(d, TR_KEY_pex_enabled, s->allowsPEX());
tr_variantDictAddBool(d, TR_KEY_port_forwarding_enabled, tr_sessionIsPortForwardingEnabled(s)); tr_variantDictAddBool(d, TR_KEY_port_forwarding_enabled, tr_sessionIsPortForwardingEnabled(s));
tr_variantDictAddInt(d, TR_KEY_preallocation, s->preallocationMode()); tr_variantDictAddInt(d, TR_KEY_preallocation, s->preallocationMode());
tr_variantDictAddBool(d, TR_KEY_prefetch_enabled, s->isPrefetchEnabled); tr_variantDictAddBool(d, TR_KEY_prefetch_enabled, s->isPrefetchEnabled);
tr_variantDictAddInt(d, TR_KEY_peer_id_ttl_hours, s->peer_id_ttl_hours); tr_variantDictAddInt(d, TR_KEY_peer_id_ttl_hours, s->peer_id_ttl_hours);
tr_variantDictAddBool(d, TR_KEY_queue_stalled_enabled, s->queueStalledEnabled()); tr_variantDictAddBool(d, TR_KEY_queue_stalled_enabled, s->queueStalledEnabled());
tr_variantDictAddInt(d, TR_KEY_queue_stalled_minutes, s->queueStalledMinutes()); tr_variantDictAddInt(d, TR_KEY_queue_stalled_minutes, s->queueStalledMinutes());
tr_variantDictAddReal(d, TR_KEY_ratio_limit, s->desiredRatio); tr_variantDictAddReal(d, TR_KEY_ratio_limit, s->desiredRatio());
tr_variantDictAddBool(d, TR_KEY_ratio_limit_enabled, s->isRatioLimited); tr_variantDictAddBool(d, TR_KEY_ratio_limit_enabled, s->isRatioLimited);
tr_variantDictAddBool(d, TR_KEY_rename_partial_files, tr_sessionIsIncompleteFileNamingEnabled(s)); tr_variantDictAddBool(d, TR_KEY_rename_partial_files, s->isIncompleteFileNamingEnabled());
tr_variantDictAddBool(d, TR_KEY_rpc_authentication_required, tr_sessionIsRPCPasswordEnabled(s)); tr_variantDictAddBool(d, TR_KEY_rpc_authentication_required, tr_sessionIsRPCPasswordEnabled(s));
tr_variantDictAddStr(d, TR_KEY_rpc_bind_address, s->rpc_server_->getBindAddress()); tr_variantDictAddStr(d, TR_KEY_rpc_bind_address, s->rpc_server_->getBindAddress());
tr_variantDictAddBool(d, TR_KEY_rpc_enabled, tr_sessionIsRPCEnabled(s)); tr_variantDictAddBool(d, TR_KEY_rpc_enabled, tr_sessionIsRPCEnabled(s));
@ -1138,18 +1138,18 @@ char const* tr_sessionGetConfigDir(tr_session const* session)
**** ****
***/ ***/
void tr_sessionSetIncompleteFileNamingEnabled(tr_session* session, bool b) void tr_sessionSetIncompleteFileNamingEnabled(tr_session* session, bool enabled)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
session->isIncompleteFileNamingEnabled = b; session->is_incomplete_file_naming_enabled_ = enabled;
} }
bool tr_sessionIsIncompleteFileNamingEnabled(tr_session const* session) bool tr_sessionIsIncompleteFileNamingEnabled(tr_session const* session)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
return session->isIncompleteFileNamingEnabled; return session->isIncompleteFileNamingEnabled();
} }
/*** /***
@ -1234,14 +1234,14 @@ void tr_sessionSetPeerPortRandomOnStart(tr_session* session, bool random)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
session->isPortRandom = random; session->is_port_random_ = random;
} }
bool tr_sessionGetPeerPortRandomOnStart(tr_session const* session) bool tr_sessionGetPeerPortRandomOnStart(tr_session const* session)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
return session->isPortRandom; return session->isPortRandom();
} }
tr_port_forwarding tr_sessionGetPortForwarding(tr_session const* session) tr_port_forwarding tr_sessionGetPortForwarding(tr_session const* session)
@ -1262,11 +1262,11 @@ void tr_sessionSetRatioLimited(tr_session* session, bool isLimited)
session->isRatioLimited = isLimited; session->isRatioLimited = isLimited;
} }
void tr_sessionSetRatioLimit(tr_session* session, double desiredRatio) void tr_sessionSetRatioLimit(tr_session* session, double desired_ratio)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
session->desiredRatio = desiredRatio; session->desired_ratio_ = desired_ratio;
} }
bool tr_sessionIsRatioLimited(tr_session const* session) bool tr_sessionIsRatioLimited(tr_session const* session)
@ -1280,18 +1280,18 @@ double tr_sessionGetRatioLimit(tr_session const* session)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
return session->desiredRatio; return session->desiredRatio();
} }
/*** /***
**** ****
***/ ***/
void tr_sessionSetIdleLimited(tr_session* session, bool isLimited) void tr_sessionSetIdleLimited(tr_session* session, bool is_limited)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
session->isIdleLimited = isLimited; session->is_idle_limited_ = is_limited;
} }
void tr_sessionSetIdleLimit(tr_session* session, uint16_t idleMinutes) void tr_sessionSetIdleLimit(tr_session* session, uint16_t idleMinutes)
@ -1305,7 +1305,7 @@ bool tr_sessionIsIdleLimited(tr_session const* session)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
return session->isIdleLimited; return session->isIdleLimited();
} }
uint16_t tr_sessionGetIdleLimit(tr_session const* session) uint16_t tr_sessionGetIdleLimit(tr_session const* session)
@ -1990,14 +1990,14 @@ void tr_sessionSetPexEnabled(tr_session* session, bool enabled)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
session->isPexEnabled = enabled; session->is_pex_enabled_ = enabled;
} }
bool tr_sessionIsPexEnabled(tr_session const* session) bool tr_sessionIsPexEnabled(tr_session const* session)
{ {
TR_ASSERT(session != nullptr); TR_ASSERT(session != nullptr);
return session->isPexEnabled; return session->allowsPEX();
} }
bool tr_sessionIsDHTEnabled(tr_session const* session) bool tr_sessionIsDHTEnabled(tr_session const* session)

View file

@ -354,7 +354,7 @@ public:
using queue_start_callback_t = void (*)(tr_session*, tr_torrent*, void* user_data); using queue_start_callback_t = void (*)(tr_session*, tr_torrent*, void* user_data);
void setQueueStartCallback(queue_start_callback_t cb, void* user_data) constexpr void setQueueStartCallback(queue_start_callback_t cb, void* user_data)
{ {
queue_start_callback_ = cb; queue_start_callback_ = cb;
queue_start_user_data_ = user_data; queue_start_user_data_ = user_data;
@ -368,7 +368,7 @@ public:
} }
} }
void setIdleLimitHitCallback(tr_session_idle_limit_hit_func cb, void* user_data) constexpr void setIdleLimitHitCallback(tr_session_idle_limit_hit_func cb, void* user_data)
{ {
idle_limit_hit_callback_ = cb; idle_limit_hit_callback_ = cb;
idle_limit_hit_user_data_ = user_data; idle_limit_hit_user_data_ = user_data;
@ -382,7 +382,7 @@ public:
} }
} }
void setRatioLimitHitCallback(tr_session_ratio_limit_hit_func cb, void* user_data) constexpr void setRatioLimitHitCallback(tr_session_ratio_limit_hit_func cb, void* user_data)
{ {
ratio_limit_hit_cb_ = cb; ratio_limit_hit_cb_ = cb;
ratio_limit_hit_user_data_ = user_data; ratio_limit_hit_user_data_ = user_data;
@ -396,7 +396,7 @@ public:
} }
} }
void setMetadataCallback(tr_session_metadata_func cb, void* user_data) constexpr void setMetadataCallback(tr_session_metadata_func cb, void* user_data)
{ {
got_metadata_cb_ = cb; got_metadata_cb_ = cb;
got_metadata_user_data_ = user_data; got_metadata_user_data_ = user_data;
@ -410,7 +410,7 @@ public:
} }
} }
void setTorrentCompletenessCallback(tr_torrent_completeness_func cb, void* user_data) constexpr void setTorrentCompletenessCallback(tr_torrent_completeness_func cb, void* user_data)
{ {
completeness_func_ = cb; completeness_func_ = cb;
completeness_func_user_data_ = user_data; completeness_func_user_data_ = user_data;
@ -460,13 +460,9 @@ public:
TR_SCRIPT_ON_TORRENT_DONE_SEEDING } } TR_SCRIPT_ON_TORRENT_DONE_SEEDING } }
}; };
bool isPortRandom = false;
bool isPexEnabled = false;
bool isUTPEnabled = false; bool isUTPEnabled = false;
bool isPrefetchEnabled = false; bool isPrefetchEnabled = false;
bool isRatioLimited = false; bool isRatioLimited = false;
bool isIdleLimited = false;
bool isIncompleteFileNamingEnabled = false;
uint8_t peer_id_ttl_hours = 0; uint8_t peer_id_ttl_hours = 0;
@ -553,8 +549,6 @@ public:
std::vector<std::pair<tr_interned_string, std::unique_ptr<tr_bandwidth>>> bandwidth_groups_; std::vector<std::pair<tr_interned_string, std::unique_ptr<tr_bandwidth>>> bandwidth_groups_;
float desiredRatio;
uint16_t idleLimitMinutes; uint16_t idleLimitMinutes;
tr_bindinfo bind_ipv4 = tr_bindinfo{ tr_inaddr_any }; tr_bindinfo bind_ipv4 = tr_bindinfo{ tr_inaddr_any };
@ -644,6 +638,16 @@ public:
return is_lpd_enabled_; return is_lpd_enabled_;
} }
[[nodiscard]] auto constexpr allowsPEX() const noexcept
{
return is_pex_enabled_;
}
[[nodiscard]] auto constexpr isIdleLimited() const noexcept
{
return is_idle_limited_;
}
[[nodiscard]] std::vector<tr_torrent*> getAllTorrents() const [[nodiscard]] std::vector<tr_torrent*> getAllTorrents() const
{ {
return std::vector<tr_torrent*>{ std::begin(torrents()), std::end(torrents()) }; return std::vector<tr_torrent*>{ std::begin(torrents()), std::end(torrents()) };
@ -687,6 +691,21 @@ public:
[[nodiscard]] std::optional<unsigned int> activeSpeedLimitBps(tr_direction dir) const noexcept; [[nodiscard]] std::optional<unsigned int> activeSpeedLimitBps(tr_direction dir) const noexcept;
[[nodiscard]] auto isIncompleteFileNamingEnabled() const noexcept
{
return is_incomplete_file_naming_enabled_;
}
[[nodiscard]] constexpr auto isPortRandom() const noexcept
{
return is_port_random_;
}
[[nodiscard]] constexpr auto desiredRatio() const noexcept
{
return desired_ratio_;
}
private: private:
[[nodiscard]] tr_port randomPort() const; [[nodiscard]] tr_port randomPort() const;
@ -698,19 +717,27 @@ private:
friend void tr_sessionSetDHTEnabled(tr_session* session, bool enabled); friend void tr_sessionSetDHTEnabled(tr_session* session, bool enabled);
friend void tr_sessionSetDeleteSource(tr_session* session, bool delete_source); friend void tr_sessionSetDeleteSource(tr_session* session, bool delete_source);
friend void tr_sessionSetEncryption(tr_session* session, tr_encryption_mode mode); friend void tr_sessionSetEncryption(tr_session* session, tr_encryption_mode mode);
friend void tr_sessionSetIdleLimited(tr_session* session, bool is_limited);
friend void tr_sessionSetIncompleteFileNamingEnabled(tr_session* session, bool enabled);
friend void tr_sessionSetLPDEnabled(tr_session* session, bool enabled); friend void tr_sessionSetLPDEnabled(tr_session* session, bool enabled);
friend void tr_sessionSetPaused(tr_session* session, bool is_paused); friend void tr_sessionSetPaused(tr_session* session, bool is_paused);
friend void tr_sessionSetPeerLimit(tr_session* session, uint16_t max_global_peers); friend void tr_sessionSetPeerLimit(tr_session* session, uint16_t max_global_peers);
friend void tr_sessionSetPeerLimitPerTorrent(tr_session* session, uint16_t max_peers); friend void tr_sessionSetPeerLimitPerTorrent(tr_session* session, uint16_t max_peers);
friend void tr_sessionSetPeerPortRandomOnStart(tr_session* session, bool random);
friend void tr_sessionSetPexEnabled(tr_session* session, bool enabled);
friend void tr_sessionSetQueueEnabled(tr_session* session, tr_direction dir, bool do_limit_simultaneous_seed_torrents); friend void tr_sessionSetQueueEnabled(tr_session* session, tr_direction dir, bool do_limit_simultaneous_seed_torrents);
friend void tr_sessionSetQueueSize(tr_session* session, tr_direction dir, int max_simultaneous_seed_torrents); friend void tr_sessionSetQueueSize(tr_session* session, tr_direction dir, int max_simultaneous_seed_torrents);
friend void tr_sessionSetQueueStalledEnabled(tr_session* session, bool is_enabled); friend void tr_sessionSetQueueStalledEnabled(tr_session* session, bool is_enabled);
friend void tr_sessionSetQueueStalledMinutes(tr_session* session, int minutes); friend void tr_sessionSetQueueStalledMinutes(tr_session* session, int minutes);
friend void tr_sessionSetRPCCallback(tr_session* session, tr_rpc_func func, void* user_data); friend void tr_sessionSetRPCCallback(tr_session* session, tr_rpc_func func, void* user_data);
friend void tr_sessionSetRatioLimit(tr_session* session, double desired_ratio);
bool is_pex_enabled_ = false;
bool is_dht_enabled_ = false; bool is_dht_enabled_ = false;
bool is_lpd_enabled_ = false; bool is_lpd_enabled_ = false;
bool is_idle_limited_ = false;
struct init_data; struct init_data;
void initImpl(init_data&); void initImpl(init_data&);
void setImpl(init_data&); void setImpl(init_data&);
@ -724,9 +751,12 @@ private:
tr_rpc_func rpc_func_ = nullptr; tr_rpc_func rpc_func_ = nullptr;
void* rpc_func_user_data_ = nullptr; void* rpc_func_user_data_ = nullptr;
float desired_ratio_ = 2.0F;
bool should_pause_added_torrents_ = false; bool should_pause_added_torrents_ = false;
bool should_delete_source_torrents_ = false; bool should_delete_source_torrents_ = false;
bool should_scrape_paused_torrents_ = false; bool should_scrape_paused_torrents_ = false;
bool is_incomplete_file_naming_enabled_ = false;
tr_encryption_mode encryption_mode_ = TR_ENCRYPTION_PREFERRED; tr_encryption_mode encryption_mode_ = TR_ENCRYPTION_PREFERRED;
@ -734,6 +764,7 @@ private:
bool is_closing_ = false; bool is_closing_ = false;
bool is_closed_ = false; bool is_closed_ = false;
bool is_port_random_ = false;
uint16_t peer_count_ = 0; uint16_t peer_count_ = 0;
uint16_t peer_limit_ = 200; uint16_t peer_limit_ = 200;

View file

@ -319,7 +319,7 @@ bool tr_torrentGetSeedRatio(tr_torrent const* tor, double* ratio)
if (isLimited && ratio != nullptr) if (isLimited && ratio != nullptr)
{ {
*ratio = tr_sessionGetRatioLimit(tor->session); *ratio = tor->session->desiredRatio();
} }
break; break;
@ -428,7 +428,7 @@ bool tr_torrentGetSeedIdle(tr_torrent const* tor, uint16_t* idleMinutes)
break; break;
case TR_IDLELIMIT_GLOBAL: case TR_IDLELIMIT_GLOBAL:
isLimited = tr_sessionIsIdleLimited(tor->session); isLimited = tor->session->isIdleLimited();
if (isLimited && idleMinutes != nullptr) if (isLimited && idleMinutes != nullptr)
{ {
@ -764,7 +764,7 @@ static void torrentInit(tr_torrent* tor, tr_ctor const* ctor)
if ((loaded & tr_resume::Ratiolimit) == 0) if ((loaded & tr_resume::Ratiolimit) == 0)
{ {
tr_torrentSetRatioMode(tor, TR_RATIOLIMIT_GLOBAL); tr_torrentSetRatioMode(tor, TR_RATIOLIMIT_GLOBAL);
tr_torrentSetRatioLimit(tor, tr_sessionGetRatioLimit(tor->session)); tr_torrentSetRatioLimit(tor, tor->session->desiredRatio());
} }
if ((loaded & tr_resume::Idlelimit) == 0) if ((loaded & tr_resume::Idlelimit) == 0)

View file

@ -518,7 +518,7 @@ public:
[[nodiscard]] auto allowsPex() const noexcept [[nodiscard]] auto allowsPex() const noexcept
{ {
return this->isPublic() && this->session->isPexEnabled; return this->isPublic() && this->session->allowsPEX();
} }
[[nodiscard]] auto allowsDht() const [[nodiscard]] auto allowsDht() const

View file

@ -309,7 +309,7 @@ bool tr_sessionIsIncompleteDirEnabled(tr_session const* session);
* *
* @see tr_sessionIsIncompleteFileNamingEnabled() * @see tr_sessionIsIncompleteFileNamingEnabled()
*/ */
void tr_sessionSetIncompleteFileNamingEnabled(tr_session* session, bool); void tr_sessionSetIncompleteFileNamingEnabled(tr_session* session, bool enabled);
/** @brief return true if files will end in ".part" until they're complete */ /** @brief return true if files will end in ".part" until they're complete */
bool tr_sessionIsIncompleteFileNamingEnabled(tr_session const* session); bool tr_sessionIsIncompleteFileNamingEnabled(tr_session const* session);
@ -585,10 +585,10 @@ double tr_sessionGetRawSpeed_KBps(tr_session const*, tr_direction);
void tr_sessionSetRatioLimited(tr_session*, bool isLimited); void tr_sessionSetRatioLimited(tr_session*, bool isLimited);
bool tr_sessionIsRatioLimited(tr_session const*); bool tr_sessionIsRatioLimited(tr_session const*);
void tr_sessionSetRatioLimit(tr_session*, double desiredRatio); void tr_sessionSetRatioLimit(tr_session*, double desired_ratio);
double tr_sessionGetRatioLimit(tr_session const*); double tr_sessionGetRatioLimit(tr_session const*);
void tr_sessionSetIdleLimited(tr_session*, bool isLimited); void tr_sessionSetIdleLimited(tr_session*, bool is_limited);
bool tr_sessionIsIdleLimited(tr_session const*); bool tr_sessionIsIdleLimited(tr_session const*);
void tr_sessionSetIdleLimit(tr_session*, uint16_t idleMinutes); void tr_sessionSetIdleLimit(tr_session*, uint16_t idleMinutes);