forked from premiere/premiere-libtorrent
fix no-metadata case to not send any other messages before the bitfield (which is sent once we have the metadata)
This commit is contained in:
parent
5b28964c22
commit
89907cdae8
|
@ -252,6 +252,7 @@ namespace libtorrent
|
|||
if (m_supports_dht_port && m_ses.m_dht)
|
||||
write_dht_port(m_ses.get_dht_settings().service_port);
|
||||
#endif
|
||||
if (is_interesting()) write_interested();
|
||||
}
|
||||
|
||||
void bt_peer_connection::write_dht_port(int listen_port)
|
||||
|
@ -1435,6 +1436,9 @@ namespace libtorrent
|
|||
else if (t->num_have() == 0)
|
||||
{
|
||||
// don't send a bitfield if we don't have any pieces
|
||||
#ifdef TORRENT_VERBOSE_LOGGING
|
||||
(*m_logger) << time_now_string() << " *** NOT SENDING BITFIELD";
|
||||
#endif
|
||||
#ifndef NDEBUG
|
||||
m_sent_bitfield = true;
|
||||
#endif
|
||||
|
|
|
@ -2133,6 +2133,8 @@ namespace libtorrent
|
|||
{
|
||||
if (m_interesting) return;
|
||||
m_interesting = true;
|
||||
boost::shared_ptr<torrent> t = m_torrent.lock();
|
||||
if (!t->valid_metadata()) return;
|
||||
write_interested();
|
||||
|
||||
#ifdef TORRENT_VERBOSE_LOGGING
|
||||
|
@ -2144,6 +2146,8 @@ namespace libtorrent
|
|||
{
|
||||
if (!m_interesting) return;
|
||||
m_interesting = false;
|
||||
boost::shared_ptr<torrent> t = m_torrent.lock();
|
||||
if (!t->valid_metadata()) return;
|
||||
write_not_interested();
|
||||
|
||||
m_became_uninteresting = time_now();
|
||||
|
|
Loading…
Reference in New Issue