mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-07 06:39:23 +00:00
Cleaned up the API.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@456 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -3,6 +3,7 @@ SUBDIRS = src
|
|||||||
EXTRA_DIST= \
|
EXTRA_DIST= \
|
||||||
autogen.sh \
|
autogen.sh \
|
||||||
doc/rtorrent.1.txt \
|
doc/rtorrent.1.txt \
|
||||||
|
doc/rtorrent.rc \
|
||||||
rak/algorithm.h \
|
rak/algorithm.h \
|
||||||
rak/functional.h \
|
rak/functional.h \
|
||||||
scripts/checks.m4 \
|
scripts/checks.m4 \
|
||||||
|
|||||||
+15
-9
@@ -2,30 +2,36 @@
|
|||||||
# ~/.rtorrent.rc and enable/modify the options as needed.
|
# ~/.rtorrent.rc and enable/modify the options as needed.
|
||||||
|
|
||||||
# Minumum amount of peers to connect per torrent, if available.
|
# Minumum amount of peers to connect per torrent, if available.
|
||||||
# min_peers = 40
|
#min_peers = 40
|
||||||
|
|
||||||
# Minumum amount of peers to connect per torrent.
|
# Minumum amount of peers to connect per torrent.
|
||||||
# max_peers = 100
|
#max_peers = 100
|
||||||
|
|
||||||
# Maximum number of simultanious uploads per torrent.
|
# Maximum number of simultanious uploads per torrent.
|
||||||
# max_uploads = 15
|
#max_uploads = 15
|
||||||
|
|
||||||
# Global download rate in KiB. "0" for unlimited.
|
# Global download rate in KiB. "0" for unlimited.
|
||||||
# download_rate = 0
|
#download_rate = 0
|
||||||
|
|
||||||
# Global upload rate in KiB. "0" for unlimited.
|
# Global upload rate in KiB. "0" for unlimited.
|
||||||
# upload_rate = 0
|
#upload_rate = 0
|
||||||
|
|
||||||
# Default directory to save downloaded files. Note it doesn't support
|
# Default directory to save downloaded files. Note it doesn't support
|
||||||
# space yet.
|
# space yet.
|
||||||
# directory = ./
|
#directory = ./
|
||||||
|
|
||||||
# The ip address reported to the tracker.
|
# The ip address reported to the tracker.
|
||||||
# ip = 127.0.0.1
|
#ip = 127.0.0.1
|
||||||
|
|
||||||
# The ip address the listening socket and outgoing connections is
|
# The ip address the listening socket and outgoing connections is
|
||||||
# bound to.
|
# bound to.
|
||||||
# bind = 127.0.0.1
|
#bind = 127.0.0.1
|
||||||
|
|
||||||
# Port range to use for listening.
|
# Port range to use for listening.
|
||||||
# port = 6890-6999
|
#port = 6890-6999
|
||||||
|
|
||||||
|
# Hash read-ahead controls how many MB to request the kernel to read
|
||||||
|
# ahead. If the value is too low the disk may not be fully utilized,
|
||||||
|
# while if too high the kernel might not be able to keep the read
|
||||||
|
# pages in memory thus end up trashing.
|
||||||
|
#hash_read_ahead = 10
|
||||||
|
|||||||
+1
-1
@@ -55,7 +55,7 @@ Poll::poll(utils::Timer timeout) {
|
|||||||
m_maxFd = std::max(m_maxFd, n);
|
m_maxFd = std::max(m_maxFd, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
timeval t = std::min(timeout, utils::Timer(torrent::get(torrent::TIME_SELECT))).tval();
|
timeval t = std::min(timeout, utils::Timer(torrent::get_next_timeout())).tval();
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
m_maxFd = select(m_maxFd + 1, m_readSet, m_writeSet, m_exceptSet, &t);
|
m_maxFd = select(m_maxFd + 1, m_readSet, m_writeSet, m_exceptSet, &t);
|
||||||
|
|||||||
@@ -46,22 +46,22 @@ WindowStatusbar::redraw() {
|
|||||||
int pos = 0;
|
int pos = 0;
|
||||||
char buf[128];
|
char buf[128];
|
||||||
|
|
||||||
if (torrent::get(torrent::THROTTLE_ROOT_CONST_RATE) == 0)
|
if (torrent::get_write_throttle() == 0)
|
||||||
pos = snprintf(buf, 128, "off/");
|
pos = snprintf(buf, 128, "off/");
|
||||||
else
|
else
|
||||||
pos = snprintf(buf, 128, "%3i/", (int)torrent::get(torrent::THROTTLE_ROOT_CONST_RATE) / 1024);
|
pos = snprintf(buf, 128, "%3i/", torrent::get_write_throttle() / 1024);
|
||||||
|
|
||||||
if (torrent::get(torrent::THROTTLE_READ_CONST_RATE) == 0)
|
if (torrent::get_read_throttle() == 0)
|
||||||
pos = snprintf(buf + pos, 128 - pos, "off");
|
pos = snprintf(buf + pos, 128 - pos, "off");
|
||||||
else
|
else
|
||||||
pos = snprintf(buf + pos, 128 - pos, "%-3i", (int)torrent::get(torrent::THROTTLE_READ_CONST_RATE) / 1024);
|
pos = snprintf(buf + pos, 128 - pos, "%-3i", torrent::get_read_throttle() / 1024);
|
||||||
|
|
||||||
m_canvas->print(0, 0, "Throttle U/D: %s Listen: %s:%i%s Handshakes: %i",
|
m_canvas->print(0, 0, "Throttle U/D: %s Listen: %s:%i%s Handshakes: %i",
|
||||||
buf,
|
buf,
|
||||||
!torrent::get_ip().empty() ? torrent::get_ip().c_str() : "<default>",
|
!torrent::get_ip().empty() ? torrent::get_ip().c_str() : "<default>",
|
||||||
(int)torrent::get(torrent::LISTEN_PORT),
|
(int)torrent::get_listen_port(),
|
||||||
!torrent::get_bind().empty() ? (" Bind: " + torrent::get_bind()).c_str() : "",
|
!torrent::get_bind().empty() ? (" Bind: " + torrent::get_bind()).c_str() : "",
|
||||||
(int)torrent::get(torrent::HANDSHAKES_TOTAL));
|
torrent::get_total_handshakes());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-7
@@ -118,12 +118,13 @@ initialize_option_handler(ui::Control* c, OptionHandler* optionHandler) {
|
|||||||
optionHandler->insert("max_peers", new OptionHandlerDownloadInt(dsm, &apply_download_max_peers, &validate_download_peers));
|
optionHandler->insert("max_peers", new OptionHandlerDownloadInt(dsm, &apply_download_max_peers, &validate_download_peers));
|
||||||
optionHandler->insert("max_uploads", new OptionHandlerDownloadInt(dsm, &apply_download_max_uploads, &validate_download_peers));
|
optionHandler->insert("max_uploads", new OptionHandlerDownloadInt(dsm, &apply_download_max_uploads, &validate_download_peers));
|
||||||
|
|
||||||
optionHandler->insert("download_rate", new OptionHandlerInt(c, &apply_global_download_rate, &validate_rate));
|
optionHandler->insert("download_rate", new OptionHandlerInt(c, &apply_global_download_rate, &validate_rate));
|
||||||
optionHandler->insert("upload_rate", new OptionHandlerInt(c, &apply_global_upload_rate, &validate_rate));
|
optionHandler->insert("upload_rate", new OptionHandlerInt(c, &apply_global_upload_rate, &validate_rate));
|
||||||
|
optionHandler->insert("hash_read_ahead", new OptionHandlerInt(c, &apply_hash_read_ahead, &validate_read_ahead));
|
||||||
|
|
||||||
optionHandler->insert("directory", new OptionHandlerDownloadString(dsm, &apply_download_directory, &validate_directory));
|
optionHandler->insert("directory", new OptionHandlerDownloadString(dsm, &apply_download_directory, &validate_directory));
|
||||||
|
|
||||||
optionHandler->insert("ip", new OptionHandlerString(c, &apply_ip, &validate_ip));
|
optionHandler->insert("ip", new OptionHandlerString(c, &apply_ip, &validate_ip));
|
||||||
optionHandler->insert("bind", new OptionHandlerString(c, &apply_bind, &validate_ip));
|
optionHandler->insert("bind", new OptionHandlerString(c, &apply_bind, &validate_ip));
|
||||||
optionHandler->insert("port", new OptionHandlerString(c, &apply_port_range, &validate_port_range));
|
optionHandler->insert("port", new OptionHandlerString(c, &apply_port_range, &validate_port_range));
|
||||||
}
|
}
|
||||||
@@ -132,10 +133,10 @@ void
|
|||||||
load_option_file(const std::string& filename, OptionHandler* optionHandler, bool require = false) {
|
load_option_file(const std::string& filename, OptionHandler* optionHandler, bool require = false) {
|
||||||
std::fstream f(filename.c_str(), std::ios::in);
|
std::fstream f(filename.c_str(), std::ios::in);
|
||||||
|
|
||||||
if (!f.is_open())
|
if (!f.is_open()) {
|
||||||
|
std::cout << "Could not open option file \"" << filename << "\"" << std::endl;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
std::cout << "Loaded option file \"" << filename << "\"" << std::endl;
|
|
||||||
|
|
||||||
OptionFile optionFile;
|
OptionFile optionFile;
|
||||||
|
|
||||||
@@ -208,7 +209,7 @@ main(int argc, char** argv) {
|
|||||||
|
|
||||||
uiControl.get_display().adjust_layout();
|
uiControl.get_display().adjust_layout();
|
||||||
|
|
||||||
while (!is_shutting_down || !torrent::get(torrent::SHUTDOWN_DONE)) {
|
while (!is_shutting_down || !torrent::is_inactive()) {
|
||||||
|
|
||||||
if (uiRoot.get_shutdown_received()) {
|
if (uiRoot.get_shutdown_received()) {
|
||||||
do_shutdown(&uiControl);
|
do_shutdown(&uiControl);
|
||||||
|
|||||||
@@ -55,7 +55,12 @@ validate_download_peers(int arg) {
|
|||||||
|
|
||||||
bool
|
bool
|
||||||
validate_rate(int arg) {
|
validate_rate(int arg) {
|
||||||
return arg >= 0 && arg < (1 << 24);
|
return arg >= 0 && arg < (1 << 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
validate_read_ahead(int arg) {
|
||||||
|
return arg >= 1 && arg < 64;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -82,12 +87,17 @@ apply_download_directory(core::Download* d, const std::string& arg) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
apply_global_download_rate(ui::Control* m, int arg) {
|
apply_global_download_rate(ui::Control* m, int arg) {
|
||||||
torrent::set(torrent::THROTTLE_READ_CONST_RATE, arg * 1024);
|
torrent::set_read_throttle(arg * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
apply_global_upload_rate(ui::Control* m, int arg) {
|
apply_global_upload_rate(ui::Control* m, int arg) {
|
||||||
torrent::set(torrent::THROTTLE_ROOT_CONST_RATE, arg * 1024);
|
torrent::set_write_throttle(arg * 1024);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
apply_hash_read_ahead(ui::Control* m, int arg) {
|
||||||
|
torrent::set_hash_read_ahead(arg << 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ bool validate_port_range(const std::string& arg);
|
|||||||
|
|
||||||
bool validate_download_peers(int arg);
|
bool validate_download_peers(int arg);
|
||||||
bool validate_rate(int arg);
|
bool validate_rate(int arg);
|
||||||
|
bool validate_read_ahead(int arg);
|
||||||
|
|
||||||
void apply_download_min_peers(core::Download* d, int arg);
|
void apply_download_min_peers(core::Download* d, int arg);
|
||||||
void apply_download_max_peers(core::Download* d, int arg);
|
void apply_download_max_peers(core::Download* d, int arg);
|
||||||
@@ -50,6 +51,8 @@ void apply_download_directory(core::Download* d, const std::string& arg);
|
|||||||
void apply_global_download_rate(ui::Control* m, int arg);
|
void apply_global_download_rate(ui::Control* m, int arg);
|
||||||
void apply_global_upload_rate(ui::Control* m, int arg);
|
void apply_global_upload_rate(ui::Control* m, int arg);
|
||||||
|
|
||||||
|
void apply_hash_read_ahead(ui::Control* m, int arg);
|
||||||
|
|
||||||
void apply_ip(ui::Control* m, const std::string& arg);
|
void apply_ip(ui::Control* m, const std::string& arg);
|
||||||
void apply_bind(ui::Control* m, const std::string& arg);
|
void apply_bind(ui::Control* m, const std::string& arg);
|
||||||
void apply_port_range(ui::Control* m, const std::string& arg);
|
void apply_port_range(ui::Control* m, const std::string& arg);
|
||||||
|
|||||||
+2
-2
@@ -184,14 +184,14 @@ void
|
|||||||
Download::receive_read_throttle(int t) {
|
Download::receive_read_throttle(int t) {
|
||||||
m_windowMainStatus->mark_dirty();
|
m_windowMainStatus->mark_dirty();
|
||||||
|
|
||||||
torrent::set(torrent::THROTTLE_READ_CONST_RATE, torrent::get(torrent::THROTTLE_READ_CONST_RATE) + t * 1024);
|
torrent::set_read_throttle(torrent::get_read_throttle() + t * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Download::receive_write_throttle(int t) {
|
Download::receive_write_throttle(int t) {
|
||||||
m_windowMainStatus->mark_dirty();
|
m_windowMainStatus->mark_dirty();
|
||||||
|
|
||||||
torrent::set(torrent::THROTTLE_ROOT_CONST_RATE, torrent::get(torrent::THROTTLE_ROOT_CONST_RATE) + t * 1024);
|
torrent::set_write_throttle(torrent::get_write_throttle() + t * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ DownloadList::DownloadList(Control* c) :
|
|||||||
|
|
||||||
m_window(c->get_display().end()),
|
m_window(c->get_display().end()),
|
||||||
|
|
||||||
m_windowTitle(new WTitle("rtorrent " VERSION " - " + torrent::get(torrent::LIBRARY_NAME))),
|
m_windowTitle(new WTitle("rTorrent " VERSION " - libTorrent " + torrent::get_version())),
|
||||||
m_windowStatus(new WStatus(&c->get_core())),
|
m_windowStatus(new WStatus(&c->get_core())),
|
||||||
m_windowHttpQueue(new WHttp(&c->get_core().get_http_queue())),
|
m_windowHttpQueue(new WHttp(&c->get_core().get_http_queue())),
|
||||||
|
|
||||||
@@ -172,14 +172,14 @@ void
|
|||||||
DownloadList::receive_read_throttle(int t) {
|
DownloadList::receive_read_throttle(int t) {
|
||||||
m_windowStatus->mark_dirty();
|
m_windowStatus->mark_dirty();
|
||||||
|
|
||||||
torrent::set(torrent::THROTTLE_READ_CONST_RATE, torrent::get(torrent::THROTTLE_READ_CONST_RATE) + t * 1024);
|
torrent::set_read_throttle(torrent::get_read_throttle() + t * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
DownloadList::receive_write_throttle(int t) {
|
DownloadList::receive_write_throttle(int t) {
|
||||||
m_windowStatus->mark_dirty();
|
m_windowStatus->mark_dirty();
|
||||||
|
|
||||||
torrent::set(torrent::THROTTLE_ROOT_CONST_RATE, torrent::get(torrent::THROTTLE_ROOT_CONST_RATE) + t * 1024);
|
torrent::set_write_throttle(torrent::get_write_throttle() + t * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user