lt sync 2588

This commit is contained in:
Andrew Resch 2008-08-04 23:32:18 +00:00
parent 25309fc007
commit 9fedc86172
14 changed files with 83 additions and 41 deletions

View File

@ -42,22 +42,18 @@ import xdg, xdg.BaseDirectory
LT_TORRENT_STATE = {
"Queued": 0,
"Checking": 1,
"Connecting": 2,
"Downloading Metadata": 3,
"Downloading": 4,
"Finished": 5,
"Seeding": 6,
"Allocating": 7,
"Paused": 8,
"Downloading Metadata": 2,
"Downloading": 3,
"Finished": 4,
"Seeding": 5,
"Allocating": 6,
0: "Queued",
1: "Checking",
2: "Connecting",
3: "Downloading Metadata",
4: "Downloading",
5: "Finished",
6: "Seeding",
7: "Allocating",
8: "Paused"
2: "Downloading Metadata",
3: "Downloading",
4: "Finished",
5: "Seeding",
6: "Allocating",
}
TORRENT_STATE = [

View File

@ -251,8 +251,7 @@ class Torrent:
if ltstate == LTSTATE["Queued"] or ltstate == LTSTATE["Checking"]:
self.state = "Checking"
return
elif ltstate == LTSTATE["Connecting"] or ltstate == LTSTATE["Downloading"] or\
ltstate == LTSTATE["Downloading Metadata"]:
elif ltstate == LTSTATE["Downloading"] or ltstate == LTSTATE["Downloading Metadata"]:
self.state = "Downloading"
elif ltstate == LTSTATE["Finished"] or ltstate == LTSTATE["Seeding"]:
self.state = "Seeding"

View File

@ -80,7 +80,6 @@ void bind_torrent_status()
enum_<torrent_status::state_t>("states")
.value("queued_for_checking", torrent_status::queued_for_checking)
.value("checking_files", torrent_status::checking_files)
.value("connecting_to_tracker", torrent_status::connecting_to_tracker)
.value("downloading", torrent_status::downloading)
.value("finished", torrent_status::finished)
.value("seeding", torrent_status::seeding)

View File

@ -96,7 +96,9 @@ namespace libtorrent {
virtual std::string message() const = 0;
virtual int category() const = 0;
#ifndef TORRENT_NO_DEPRECATE
severity_t severity() const TORRENT_DEPRECATED { return warning; }
#endif
virtual std::auto_ptr<alert> clone() const = 0;

View File

@ -47,12 +47,18 @@ namespace libtorrent
std::string TORRENT_EXPORT make_magnet_uri(torrent_handle const& handle);
#ifndef TORRENT_NO_DEPRECATE
// deprecated in 0.14
torrent_handle TORRENT_EXPORT add_magnet_uri(session& ses, std::string const& uri
, fs::path const& save_path
, storage_mode_t storage_mode = storage_mode_sparse
, bool paused = false
, storage_constructor_type sc = default_storage_constructor
, void* userdata = 0);
, void* userdata = 0) TORRENT_DEPRECATED;
#endif
torrent_handle TORRENT_EXPORT add_magnet_uri(session& ses, std::string const& uri
, add_torrent_params p);
}
#endif

View File

@ -179,6 +179,7 @@ namespace libtorrent
// all torrent_handles must be destructed before the session is destructed!
torrent_handle add_torrent(add_torrent_params const& params);
#ifndef TORRENT_NO_DEPRECATE
// deprecated in 0.14
torrent_handle add_torrent(
torrent_info const& ti
@ -209,6 +210,7 @@ namespace libtorrent
, bool paused = false
, storage_constructor_type sc = default_storage_constructor
, void* userdata = 0) TORRENT_DEPRECATED;
#endif
session_proxy abort() { return session_proxy(m_impl); }
@ -317,7 +319,9 @@ namespace libtorrent
void set_max_half_open_connections(int limit);
std::auto_ptr<alert> pop_alert();
#ifndef TORRENT_NO_DEPRECATE
void set_severity_level(alert::severity_t s) TORRENT_DEPRECATED;
#endif
void set_alert_mask(int m);
alert const* wait_for_alert(time_duration max_wait);

View File

@ -140,6 +140,7 @@ namespace libtorrent
, auto_scrape_interval(1800)
, auto_scrape_min_interval(300)
, max_peerlist_size(8000)
, min_announce_interval(5 * 60)
{}
// this is the user agent that will be sent to the tracker
@ -430,6 +431,11 @@ namespace libtorrent
// per torrent. This is the peers we know
// about, not necessarily connected to.
int max_peerlist_size;
// any announce intervals reported from a tracker
// that is lower than this, will be clamped to this
// value. It's specified in seconds
int min_announce_interval;
};
#ifndef TORRENT_DISABLE_DHT

View File

@ -126,7 +126,6 @@ namespace libtorrent
{
queued_for_checking,
checking_files,
connecting_to_tracker,
downloading_metadata,
downloading,
finished,
@ -319,10 +318,12 @@ namespace libtorrent
torrent_status status() const;
void get_download_queue(std::vector<partial_piece_info>& queue) const;
#ifndef TORRENT_NO_DEPRECATE
// fills the specified vector with the download progress [0, 1]
// of each file in the torrent. The files are ordered as in
// the torrent_info.
void file_progress(std::vector<float>& progress) const TORRENT_DEPRECATED;
#endif
void file_progress(std::vector<size_type>& progress) const;
void clear_error() const;
@ -370,6 +371,7 @@ namespace libtorrent
// ================ start deprecation ============
#ifndef TORRENT_NO_DEPRECATE
// deprecated in 0.13
// marks the piece with the given index as filtered
// it will not be downloaded
@ -382,6 +384,7 @@ namespace libtorrent
void filter_files(std::vector<bool> const& files) const TORRENT_DEPRECATED;
// ================ end deprecation ============
#endif
void piece_availability(std::vector<int>& avail) const;
@ -403,10 +406,12 @@ namespace libtorrent
// to.
void use_interface(const char* net_interface) const;
#ifndef TORRENT_NO_DEPRECATE
// deprecated in 0.14
// use save_resume_data() instead. It is async. and
// will return the resume data in an alert
entry write_resume_data() const TORRENT_DEPRECATED;
#endif
// forces this torrent to reannounce
// (make a rerequest from the tracker)

View File

@ -125,11 +125,13 @@ namespace libtorrent
peer_request map_file(int file, size_type offset, int size) const
{ return m_files.map_file(file, offset, size); }
#ifndef TORRENT_NO_DEPRECATE
// ------- start deprecation -------
// these functions will be removed in a future version
torrent_info(entry const& torrent_file) TORRENT_DEPRECATED;
void print(std::ostream& os) const TORRENT_DEPRECATED;
// ------- end deprecation -------
#endif
bool is_valid() const { return m_files.is_valid(); }

View File

@ -69,6 +69,7 @@ namespace libtorrent
return ret.str();
}
#ifndef TORRENT_NO_DEPRECATE
torrent_handle add_magnet_uri(session& ses, std::string const& uri
, fs::path const& save_path
, storage_mode_t storage_mode
@ -95,6 +96,31 @@ namespace libtorrent
, name.empty() ? 0 : name.c_str(), save_path, entry()
, storage_mode, paused, sc, userdata);
}
#endif
torrent_handle add_magnet_uri(session& ses, std::string const& uri
, add_torrent_params p)
{
std::string name;
std::string tracker;
boost::optional<std::string> display_name = url_has_argument(uri, "dn");
if (display_name) name = unescape_string(display_name->c_str());
boost::optional<std::string> tracker_string = url_has_argument(uri, "tr");
if (tracker_string) tracker = unescape_string(tracker_string->c_str());
boost::optional<std::string> btih = url_has_argument(uri, "xt");
if (!btih) return torrent_handle();
if (btih->compare(0, 9, "urn:btih:") != 0) return torrent_handle();
sha1_hash info_hash(base32decode(btih->substr(9)));
if (!tracker.empty()) p.tracker_url = tracker.c_str();
p.info_hash = info_hash;
if (!name.empty()) p.name = name.c_str();
return ses.add_torrent(p);
}
}

View File

@ -244,6 +244,7 @@ namespace libtorrent
return m_impl->add_torrent(params);
}
#ifndef TORRENT_NO_DEPRECATE
// if the torrent already exists, this will throw duplicate_torrent
torrent_handle session::add_torrent(
torrent_info const& ti
@ -311,6 +312,7 @@ namespace libtorrent
p.userdata = userdata;
return m_impl->add_torrent(p);
}
#endif
void session::remove_torrent(const torrent_handle& h, int options)
{
@ -518,6 +520,7 @@ namespace libtorrent
m_impl->set_alert_mask(m);
}
#ifndef TORRENT_NO_DEPRECATE
void session::set_severity_level(alert::severity_t s)
{
int m = 0;
@ -535,6 +538,7 @@ namespace libtorrent
m_impl->set_alert_mask(m);
}
#endif
void session::start_lsd()
{

View File

@ -962,9 +962,9 @@ namespace libtorrent
m_complete_sent = true;
m_failed_trackers = 0;
// announce intervals less than 5 minutes
// are insane.
if (interval < 60 * 5) interval = 60 * 5;
if (interval < m_ses.settings().min_announce_interval)
interval = m_ses.settings().min_announce_interval;
m_last_working_tracker
= prioritize_tracker(m_currently_trying_tracker);
@ -1016,17 +1016,6 @@ namespace libtorrent
}
else
{
if (m_ses.m_ip_filter.access(a.address()) & ip_filter::blocked)
{
#if defined TORRENT_VERBOSE_LOGGING || defined TORRENT_LOGGING || defined TORRENT_ERROR_LOGGING
debug_log("blocked ip from tracker: " + i->ip);
#endif
if (m_ses.m_alerts.should_post<peer_blocked_alert>())
m_ses.m_alerts.post_alert(peer_blocked_alert(a.address()));
continue;
}
m_policy.peer_from_tracker(a, i->pid, peer_info::tracker, 0);
}
}
@ -3272,7 +3261,7 @@ namespace libtorrent
TORRENT_ASSERT(m_torrent_file->is_valid());
INVARIANT_CHECK;
set_state(torrent_status::connecting_to_tracker);
set_state(torrent_status::downloading);
if (!is_seed())
{
@ -4368,11 +4357,7 @@ namespace libtorrent
if (!valid_metadata())
{
if (m_got_tracker_response == false && m_connections.empty())
st.state = torrent_status::connecting_to_tracker;
else
st.state = torrent_status::downloading_metadata;
st.state = torrent_status::downloading_metadata;
st.progress = m_progress;
st.block_size = 0;
return st;

View File

@ -332,11 +332,13 @@ namespace libtorrent
TORRENT_FORWARD(set_tracker_login(name, password));
}
#ifndef TORRENT_NO_DEPRECATE
void torrent_handle::file_progress(std::vector<float>& progress) const
{
INVARIANT_CHECK;
TORRENT_FORWARD(file_progress(progress));
}
#endif
void torrent_handle::file_progress(std::vector<size_type>& progress) const
{
@ -426,6 +428,7 @@ namespace libtorrent
return ret;
}
#ifndef TORRENT_NO_DEPRECATE
// ============ start deprecation ===============
void torrent_handle::filter_piece(int index, bool filter) const
@ -461,7 +464,7 @@ namespace libtorrent
}
// ============ end deprecation ===============
#endif
std::vector<announce_entry> const& torrent_handle::trackers() const
{
@ -525,6 +528,7 @@ namespace libtorrent
return !m_torrent.expired();
}
#ifndef TORRENT_NO_DEPRECATE
entry torrent_handle::write_resume_data() const
{
INVARIANT_CHECK;
@ -535,7 +539,7 @@ namespace libtorrent
return ret;
}
#endif
fs::path torrent_handle::save_path() const
{

View File

@ -227,6 +227,7 @@ namespace libtorrent
return 0;
}
#ifndef TORRENT_NO_DEPRECATE
// standard constructor that parses a torrent file
torrent_info::torrent_info(entry const& torrent_file)
: m_creation_date(pt::ptime(pt::not_a_date_time))
@ -249,6 +250,7 @@ namespace libtorrent
parse_torrent_file(e, error);
#endif
}
#endif
torrent_info::torrent_info(lazy_entry const& torrent_file)
: m_creation_date(pt::ptime(pt::not_a_date_time))
@ -583,6 +585,7 @@ namespace libtorrent
, bind(&announce_entry::tier, _1), bind(&announce_entry::tier, _2)));
}
#ifndef TORRENT_NO_DEPRECATE
// ------- start deprecation -------
void torrent_info::print(std::ostream& os) const
@ -606,6 +609,7 @@ namespace libtorrent
}
// ------- end deprecation -------
#endif
}