config.hpp   config.hpp 
skipping to change at line 363 skipping to change at line 363
// I/O subsytem will use a separate thread for closing files // I/O subsytem will use a separate thread for closing files
#ifndef TORRENT_CLOSE_MAY_BLOCK #ifndef TORRENT_CLOSE_MAY_BLOCK
#define TORRENT_CLOSE_MAY_BLOCK 0 #define TORRENT_CLOSE_MAY_BLOCK 0
#endif #endif
#ifndef TORRENT_BROKEN_UNIONS #ifndef TORRENT_BROKEN_UNIONS
#define TORRENT_BROKEN_UNIONS 0 #define TORRENT_BROKEN_UNIONS 0
#endif #endif
#ifndef TORRENT_USE_WSTRING #ifndef TORRENT_USE_WSTRING
#if defined UNICODE && !defined BOOST_NO_STD_WSTRING #if !defined BOOST_NO_STD_WSTRING
#define TORRENT_USE_WSTRING 1 #define TORRENT_USE_WSTRING 1
#else #else
#define TORRENT_USE_WSTRING 0 #define TORRENT_USE_WSTRING 0
#endif // UNICODE #endif // BOOST_NO_STD_WSTRING
#endif // TORRENT_USE_WSTRING #endif // TORRENT_USE_WSTRING
#ifndef TORRENT_HAS_FALLOCATE #ifndef TORRENT_HAS_FALLOCATE
#define TORRENT_HAS_FALLOCATE 1 #define TORRENT_HAS_FALLOCATE 1
#endif #endif
#ifndef TORRENT_EXPORT #ifndef TORRENT_EXPORT
# define TORRENT_EXPORT # define TORRENT_EXPORT
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 node.hpp   node.hpp 
skipping to change at line 133 skipping to change at line 133
// popularity if we reach the limit of items to store // popularity if we reach the limit of items to store
bloom_filter<128> ips; bloom_filter<128> ips;
// the last time we heard about this // the last time we heard about this
ptime last_seen; ptime last_seen;
// number of IPs in the bloom filter // number of IPs in the bloom filter
int num_announcers; int num_announcers;
// size of malloced space pointed to by value // size of malloced space pointed to by value
int size; int size;
}; };
struct rsa_key { char bytes[268]; };
struct dht_mutable_item : dht_immutable_item struct dht_mutable_item : dht_immutable_item
{ {
char sig[256]; char sig[256];
int seq; int seq;
rsa_key key;
}; };
struct rsa_key { char bytes[268]; };
inline bool operator<(rsa_key const& lhs, rsa_key const& rhs) inline bool operator<(rsa_key const& lhs, rsa_key const& rhs)
{ {
return memcmp(lhs.bytes, rhs.bytes, sizeof(lhs.bytes)) < 0; return memcmp(lhs.bytes, rhs.bytes, sizeof(lhs.bytes)) < 0;
} }
inline bool operator<(peer_entry const& lhs, peer_entry const& rhs) inline bool operator<(peer_entry const& lhs, peer_entry const& rhs)
{ {
return lhs.addr.address() == rhs.addr.address() return lhs.addr.address() == rhs.addr.address()
? lhs.addr.port() < rhs.addr.port() ? lhs.addr.port() < rhs.addr.port()
: lhs.addr.address() < rhs.addr.address(); : lhs.addr.address() < rhs.addr.address();
skipping to change at line 181 skipping to change at line 182
, libtorrent::dht::torrent_entry> const& t) , libtorrent::dht::torrent_entry> const& t)
{ {
count += t.second.peers.size(); count += t.second.peers.size();
} }
}; };
class TORRENT_EXTRA_EXPORT node_impl : boost::noncopyable class TORRENT_EXTRA_EXPORT node_impl : boost::noncopyable
{ {
typedef std::map<node_id, torrent_entry> table_t; typedef std::map<node_id, torrent_entry> table_t;
typedef std::map<node_id, dht_immutable_item> dht_immutable_table_t; typedef std::map<node_id, dht_immutable_item> dht_immutable_table_t;
typedef std::map<rsa_key, dht_mutable_item> dht_mutable_table_t; typedef std::map<node_id, dht_mutable_item> dht_mutable_table_t;
public: public:
typedef boost::function3<void, address, int, address> external_ip_fu n; typedef boost::function3<void, address, int, address> external_ip_fu n;
node_impl(libtorrent::alert_manager& alerts node_impl(libtorrent::alert_manager& alerts
, bool (*f)(void*, entry&, udp::endpoint const&, int) , bool (*f)(void*, entry&, udp::endpoint const&, int)
, dht_settings const& settings, node_id nid, address const& external_address , dht_settings const& settings, node_id nid, address const& external_address
, external_ip_fun ext_ip, void* userdata); , external_ip_fun ext_ip, void* userdata);
virtual ~node_impl() {} virtual ~node_impl() {}
 End of changes. 4 change blocks. 
3 lines changed or deleted 4 lines changed or added


 packet_buffer.hpp   packet_buffer.hpp 
skipping to change at line 110 skipping to change at line 110
private: private:
void** m_storage; void** m_storage;
std::size_t m_capacity; std::size_t m_capacity;
// this is the total number of elements that are occupied // this is the total number of elements that are occupied
// in the array // in the array
std::size_t m_size; std::size_t m_size;
// This defines the first index that is part of the m_storag e. // This defines the first index that is part of the m_storag e.
// The last index is (m_first + (m_capacity - 1)) & 0xffff. // last is one passed the last used slot
index_type m_first; index_type m_first;
index_type m_last; index_type m_last;
}; };
} }
#endif // TORRENT_PACKET_BUFFER_HPP_INCLUDED #endif // TORRENT_PACKET_BUFFER_HPP_INCLUDED
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 policy.hpp   policy.hpp 
skipping to change at line 449 skipping to change at line 449
bool is_force_erase_candidate(peer const& pe) const; bool is_force_erase_candidate(peer const& pe) const;
bool should_erase_immediately(peer const& p) const; bool should_erase_immediately(peer const& p) const;
enum flags_t { force_erase = 1 }; enum flags_t { force_erase = 1 };
void erase_peers(int flags = 0); void erase_peers(int flags = 0);
peers_t m_peers; peers_t m_peers;
torrent* m_torrent; torrent* m_torrent;
// this shouldbe NULL for the most part. It's set
// to point to a valid torrent_peer object if that
// object needs to be kept alive. If we ever feel
// like removing a torrent_peer from m_peers, we
// first check if the peer matches this one, and
// if so, don't delete it.
peer* m_locked_peer;
// since the peer list can grow too large // since the peer list can grow too large
// to scan all of it, start at this iterator // to scan all of it, start at this iterator
int m_round_robin; int m_round_robin;
// The number of peers in our peer list // The number of peers in our peer list
// that are connect candidates. i.e. they're // that are connect candidates. i.e. they're
// not already connected and they have not // not already connected and they have not
// yet reached their max try count and they // yet reached their max try count and they
// have the connectable state (we have a listen // have the connectable state (we have a listen
// port for them). // port for them).
 End of changes. 1 change blocks. 
0 lines changed or deleted 8 lines changed or added


 session_settings.hpp   session_settings.hpp 
skipping to change at line 262 skipping to change at line 262
int initial_picker_threshold; int initial_picker_threshold;
// the number of allowed pieces to send to peers // the number of allowed pieces to send to peers
// that supports the fast extensions // that supports the fast extensions
int allowed_fast_set_size; int allowed_fast_set_size;
// this determines which pieces will be suggested to peers // this determines which pieces will be suggested to peers
// suggest read cache will make libtorrent suggest pieces // suggest read cache will make libtorrent suggest pieces
// that are fresh in the disk read cache, to potentially // that are fresh in the disk read cache, to potentially
// lower disk access and increase the cache hit ratio // lower disk access and increase the cache hit ratio
enum { no_piece_suggestions = 0, suggest_read_cache = 1 }; enum suggest_mode_t { no_piece_suggestions = 0, suggest_read _cache = 1 };
int suggest_mode; int suggest_mode;
// the maximum number of bytes a connection may have // the maximum number of bytes a connection may have
// pending in the disk write queue before its download // pending in the disk write queue before its download
// rate is being throttled. This prevents fast downloads // rate is being throttled. This prevents fast downloads
// to slow medias to allocate more and more memory // to slow medias to allocate more and more memory
// indefinitely. This should be set to at least 16 kB // indefinitely. This should be set to at least 16 kB
// to not completely disrupt normal downloads. If it's // to not completely disrupt normal downloads. If it's
// set to 0, you will be starving the disk thread and // set to 0, you will be starving the disk thread and
// nothing will be written to disk. // nothing will be written to disk.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 socket.hpp   socket.hpp 
skipping to change at line 101 skipping to change at line 101
using boost::asio::async_read; using boost::asio::async_read;
typedef boost::asio::ip::tcp::socket stream_socket; typedef boost::asio::ip::tcp::socket stream_socket;
typedef boost::asio::ip::udp::socket datagram_socket; typedef boost::asio::ip::udp::socket datagram_socket;
typedef boost::asio::ip::tcp::acceptor socket_acceptor; typedef boost::asio::ip::tcp::acceptor socket_acceptor;
namespace asio = boost::asio; namespace asio = boost::asio;
#endif #endif
#if TORRENT_USE_IPV6 #if TORRENT_USE_IPV6
#ifdef IPV6_V6ONLY
struct v6only struct v6only
{ {
v6only(bool enable): m_value(enable) {} v6only(bool enable): m_value(enable) {}
template<class Protocol> template<class Protocol>
int level(Protocol const&) const { return IPPROTO_IPV6; } int level(Protocol const&) const { return IPPROTO_IPV6; }
template<class Protocol> template<class Protocol>
int name(Protocol const&) const { return IPV6_V6ONLY; } int name(Protocol const&) const { return IPV6_V6ONLY; }
template<class Protocol> template<class Protocol>
int const* data(Protocol const&) const { return &m_value; } int const* data(Protocol const&) const { return &m_value; }
template<class Protocol> template<class Protocol>
size_t size(Protocol const&) const { return sizeof(m_value); } size_t size(Protocol const&) const { return sizeof(m_value); }
int m_value; int m_value;
}; };
#endif #endif
#endif
#ifdef TORRENT_WINDOWS #ifdef TORRENT_WINDOWS
#ifndef IPV6_PROTECTION_LEVEL #ifndef IPV6_PROTECTION_LEVEL
#define IPV6_PROTECTION_LEVEL 30 #define IPV6_PROTECTION_LEVEL 30
#endif #endif
struct v6_protection_level struct v6_protection_level
{ {
v6_protection_level(int level): m_value(level) {} v6_protection_level(int level): m_value(level) {}
template<class Protocol> template<class Protocol>
 End of changes. 2 change blocks. 
0 lines changed or deleted 2 lines changed or added


 torrent.hpp   torrent.hpp 
skipping to change at line 997 skipping to change at line 997
int flags; int flags;
// how many peers it's been requested from // how many peers it's been requested from
int peers; int peers;
// the piece index // the piece index
int piece; int piece;
bool operator<(time_critical_piece const& rhs) const bool operator<(time_critical_piece const& rhs) const
{ return deadline < rhs.deadline; } { return deadline < rhs.deadline; }
}; };
// this list is sorted by time_critical_piece::deadline // this list is sorted by time_critical_piece::deadline
// TODO: this should be a deque
std::list<time_critical_piece> m_time_critical_pieces; std::list<time_critical_piece> m_time_critical_pieces;
std::string m_trackerid; std::string m_trackerid;
std::string m_username; std::string m_username;
std::string m_password; std::string m_password;
// the network interfaces outgoing connections // the network interfaces outgoing connections
// are opened through. If there is more then one, // are opened through. If there is more then one,
// they are used in a round-robin fasion // they are used in a round-robin fasion
std::vector<union_endpoint> m_net_interfaces; std::vector<union_endpoint> m_net_interfaces;
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 utp_socket_manager.hpp   utp_socket_manager.hpp 
skipping to change at line 106 skipping to change at line 106
// the last socket we received a packet on // the last socket we received a packet on
utp_socket_impl* m_last_socket; utp_socket_impl* m_last_socket;
int m_new_connection; int m_new_connection;
session_settings const& m_sett; session_settings const& m_sett;
// this is a copy of the routing table, used // this is a copy of the routing table, used
// to initialize MTU sizes of uTP sockets // to initialize MTU sizes of uTP sockets
std::vector<ip_route> m_routes; mutable std::vector<ip_route> m_routes;
// the timestamp for the last time we updated // the timestamp for the last time we updated
// the routing table // the routing table
ptime m_last_route_update; mutable ptime m_last_route_update;
// cache of interfaces
mutable std::vector<ip_interface> m_interfaces;
mutable ptime m_last_if_update;
// the buffer size of the socket. This is used // the buffer size of the socket. This is used
// to now lower the buffer size // to now lower the buffer size
int m_sock_buf_size; int m_sock_buf_size;
}; };
} }
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 6 lines changed or added


 version.hpp   version.hpp 
skipping to change at line 38 skipping to change at line 38
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef TORRENT_VERSION_HPP_INCLUDED #ifndef TORRENT_VERSION_HPP_INCLUDED
#define TORRENT_VERSION_HPP_INCLUDED #define TORRENT_VERSION_HPP_INCLUDED
#define LIBTORRENT_VERSION_MAJOR 0 #define LIBTORRENT_VERSION_MAJOR 0
#define LIBTORRENT_VERSION_MINOR 16 #define LIBTORRENT_VERSION_MINOR 16
#define LIBTORRENT_VERSION_TINY 5 #define LIBTORRENT_VERSION_TINY 6
// the format of this version is: MMmmtt // the format of this version is: MMmmtt
// M = Major version, m = minor version, t = tiny version // M = Major version, m = minor version, t = tiny version
#define LIBTORRENT_VERSION_NUM ((LIBTORRENT_VERSION_MAJOR * 10000) + (LIBTO RRENT_VERSION_MINOR * 100) + LIBTORRENT_VERSION_TINY) #define LIBTORRENT_VERSION_NUM ((LIBTORRENT_VERSION_MAJOR * 10000) + (LIBTO RRENT_VERSION_MINOR * 100) + LIBTORRENT_VERSION_TINY)
#define LIBTORRENT_VERSION "0.16.5.0" #define LIBTORRENT_VERSION "0.16.6.0"
#define LIBTORRENT_REVISION "$Rev: 7607 $" #define LIBTORRENT_REVISION "$Rev: 7769 $"
#endif #endif
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/