make random_shuffle() take a range instead of two iterators. use random_bytes() instead of std::generate() and random_byte(). Remove unused hasher.hpp includes
This commit is contained in:
parent
f67fb0850f
commit
7f2a78d0c9
|
@ -92,7 +92,7 @@ build_script:
|
||||||
- if defined cmake (
|
- if defined cmake (
|
||||||
set "PATH=c:\Python27-x64;%PATH%" &&
|
set "PATH=c:\Python27-x64;%PATH%" &&
|
||||||
cmake -DCMAKE_CXX_STANDARD=11 -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dpython-bindings=%python% -Dboost-python-module-name="python" -Dskip-python-runtime-test=true -DPython_ADDITIONAL_VERSIONS="2.7" -G "Visual Studio 14 2015 Win64" .. &&
|
cmake -DCMAKE_CXX_STANDARD=11 -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dpython-bindings=%python% -Dboost-python-module-name="python" -Dskip-python-runtime-test=true -DPython_ADDITIONAL_VERSIONS="2.7" -G "Visual Studio 14 2015 Win64" .. &&
|
||||||
cmake --build . --config Release -- -verbosity:quiet
|
cmake --build . --config Release -- -verbosity:minimal
|
||||||
)
|
)
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
|
|
|
@ -34,7 +34,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/bencode.hpp"
|
#include "libtorrent/bencode.hpp"
|
||||||
#include "libtorrent/torrent_info.hpp"
|
#include "libtorrent/torrent_info.hpp"
|
||||||
#include "libtorrent/storage.hpp"
|
#include "libtorrent/storage.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/create_torrent.hpp"
|
#include "libtorrent/create_torrent.hpp"
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
|
@ -40,26 +40,27 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
namespace libtorrent { namespace aux {
|
namespace libtorrent {
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
TORRENT_EXTRA_EXPORT std::mt19937& random_engine();
|
TORRENT_EXTRA_EXPORT std::mt19937& random_engine();
|
||||||
|
|
||||||
template<class RandomIt>
|
template <typename Range>
|
||||||
void random_shuffle(RandomIt first, RandomIt last)
|
void random_shuffle(Range& range)
|
||||||
{
|
{
|
||||||
std::shuffle(first, last, random_engine());
|
std::shuffle(range.data(), range.data() + range.size(), random_engine());
|
||||||
}
|
|
||||||
|
|
||||||
// Fills the buffer with random bytes.
|
|
||||||
//
|
|
||||||
// This functions perform differently under different setups
|
|
||||||
// For Windows and all platforms when compiled with libcrypto, it
|
|
||||||
// generates cryptographically random bytes.
|
|
||||||
// If the above conditions are not true, then a standard
|
|
||||||
// fill of bytes is used.
|
|
||||||
TORRENT_EXTRA_EXPORT void random_bytes(span<char> buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fills the buffer with random bytes.
|
||||||
|
//
|
||||||
|
// This functions perform differently under different setups
|
||||||
|
// For Windows and all platforms when compiled with libcrypto, it
|
||||||
|
// generates cryptographically random bytes.
|
||||||
|
// If the above conditions are not true, then a standard
|
||||||
|
// fill of bytes is used.
|
||||||
|
TORRENT_EXTRA_EXPORT void random_bytes(span<char> buffer);
|
||||||
|
}
|
||||||
|
|
||||||
TORRENT_EXTRA_EXPORT std::uint32_t random(std::uint32_t m);
|
TORRENT_EXTRA_EXPORT std::uint32_t random(std::uint32_t m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/bandwidth_limit.hpp"
|
#include "libtorrent/bandwidth_limit.hpp"
|
||||||
#include "libtorrent/bandwidth_queue_entry.hpp"
|
#include "libtorrent/bandwidth_queue_entry.hpp"
|
||||||
#include "libtorrent/storage_defs.hpp"
|
#include "libtorrent/storage_defs.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/assert.hpp"
|
#include "libtorrent/assert.hpp"
|
||||||
#include "libtorrent/aux_/session_interface.hpp"
|
#include "libtorrent/aux_/session_interface.hpp"
|
||||||
#include "libtorrent/aux_/time.hpp"
|
#include "libtorrent/aux_/time.hpp"
|
||||||
|
|
|
@ -270,7 +270,7 @@ dht_network::dht_network(sim::simulation& sim, int num_nodes, std::uint32_t flag
|
||||||
{
|
{
|
||||||
// every now and then, shuffle all_nodes to make the
|
// every now and then, shuffle all_nodes to make the
|
||||||
// routing tables more randomly distributed
|
// routing tables more randomly distributed
|
||||||
lt::aux::random_shuffle(all_nodes.begin(), all_nodes.end());
|
lt::aux::random_shuffle(all_nodes);
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/ip_filter.hpp"
|
#include "libtorrent/ip_filter.hpp"
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
|
#include "libtorrent/random.hpp"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
#include "settings.hpp"
|
#include "settings.hpp"
|
||||||
|
@ -294,7 +295,7 @@ void setup_swarm(int num_nodes
|
||||||
|
|
||||||
// make sure the sessions have different peer ids
|
// make sure the sessions have different peer ids
|
||||||
lt::peer_id pid;
|
lt::peer_id pid;
|
||||||
std::generate(&pid[0], &pid[0] + 20, &random_byte);
|
lt::aux::random_bytes(pid);
|
||||||
pack.set_str(lt::settings_pack::peer_fingerprint, pid.to_string());
|
pack.set_str(lt::settings_pack::peer_fingerprint, pid.to_string());
|
||||||
if (i == 0) new_session(pack);
|
if (i == 0) new_session(pack);
|
||||||
|
|
||||||
|
|
|
@ -520,7 +520,7 @@ void http_connection::on_resolve(error_code const& e
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
aux::random_shuffle(m_endpoints.begin(), m_endpoints.end());
|
aux::random_shuffle(m_endpoints);
|
||||||
|
|
||||||
// if we have been told to bind to a particular address
|
// if we have been told to bind to a particular address
|
||||||
// only connect to addresses of the same family
|
// only connect to addresses of the same family
|
||||||
|
|
|
@ -45,6 +45,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/aux_/session_interface.hpp"
|
#include "libtorrent/aux_/session_interface.hpp"
|
||||||
#include "libtorrent/peer_list.hpp"
|
#include "libtorrent/peer_list.hpp"
|
||||||
#include "libtorrent/aux_/socket_type.hpp"
|
#include "libtorrent/aux_/socket_type.hpp"
|
||||||
|
#include "libtorrent/hasher.hpp"
|
||||||
#include "libtorrent/assert.hpp"
|
#include "libtorrent/assert.hpp"
|
||||||
#include "libtorrent/broadcast_socket.hpp"
|
#include "libtorrent/broadcast_socket.hpp"
|
||||||
#include "libtorrent/torrent.hpp"
|
#include "libtorrent/torrent.hpp"
|
||||||
|
|
|
@ -1509,8 +1509,8 @@ namespace libtorrent {
|
||||||
for (auto b : m_priority_boundaries)
|
for (auto b : m_priority_boundaries)
|
||||||
{
|
{
|
||||||
if (start == b) continue;
|
if (start == b) continue;
|
||||||
auto r = range(m_pieces, start, b);
|
span<piece_index_t> r(&m_pieces[start], static_cast<int>(b - start));
|
||||||
aux::random_shuffle(r.begin(), r.end());
|
aux::random_shuffle(r);
|
||||||
start = b;
|
start = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -279,7 +279,7 @@ bool is_downloading_state(int const st)
|
||||||
for (auto const& e : p.http_seeds)
|
for (auto const& e : p.http_seeds)
|
||||||
ws.emplace_back(e, web_seed_entry::http_seed);
|
ws.emplace_back(e, web_seed_entry::http_seed);
|
||||||
|
|
||||||
aux::random_shuffle(ws.begin(), ws.end());
|
aux::random_shuffle(ws);
|
||||||
for (auto& w : ws) m_web_seeds.emplace_back(std::move(w));
|
for (auto& w : ws) m_web_seeds.emplace_back(std::move(w));
|
||||||
|
|
||||||
// --- TRACKERS ---
|
// --- TRACKERS ---
|
||||||
|
@ -486,7 +486,7 @@ bool is_downloading_state(int const st)
|
||||||
// add the web seeds from the .torrent file
|
// add the web seeds from the .torrent file
|
||||||
std::vector<web_seed_entry> const& web_seeds = m_torrent_file->web_seeds();
|
std::vector<web_seed_entry> const& web_seeds = m_torrent_file->web_seeds();
|
||||||
std::vector<web_seed_t> ws(web_seeds.begin(), web_seeds.end());
|
std::vector<web_seed_t> ws(web_seeds.begin(), web_seeds.end());
|
||||||
aux::random_shuffle(ws.begin(), ws.end());
|
aux::random_shuffle(ws);
|
||||||
for (auto& w : ws) m_web_seeds.push_back(std::move(w));
|
for (auto& w : ws) m_web_seeds.push_back(std::move(w));
|
||||||
|
|
||||||
#if !defined TORRENT_DISABLE_ENCRYPTION
|
#if !defined TORRENT_DISABLE_ENCRYPTION
|
||||||
|
@ -6265,7 +6265,7 @@ bool is_downloading_state(int const st)
|
||||||
// if we didn't save 100 peers, fill in with second choice peers
|
// if we didn't save 100 peers, fill in with second choice peers
|
||||||
if (int(ret.peers.size()) < 100)
|
if (int(ret.peers.size()) < 100)
|
||||||
{
|
{
|
||||||
aux::random_shuffle(deferred_peers.begin(), deferred_peers.end());
|
aux::random_shuffle(deferred_peers);
|
||||||
for (auto const p : deferred_peers)
|
for (auto const p : deferred_peers)
|
||||||
{
|
{
|
||||||
ret.peers.push_back(p->ip());
|
ret.peers.push_back(p->ip());
|
||||||
|
@ -9210,7 +9210,7 @@ bool is_downloading_state(int const st)
|
||||||
std::copy_if(m_connections.begin(), m_connections.end(), std::back_inserter(seeds)
|
std::copy_if(m_connections.begin(), m_connections.end(), std::back_inserter(seeds)
|
||||||
, [](peer_connection const* p) { return p->is_seed(); });
|
, [](peer_connection const* p) { return p->is_seed(); });
|
||||||
|
|
||||||
aux::random_shuffle(seeds.begin(), seeds.end());
|
aux::random_shuffle(seeds);
|
||||||
TORRENT_ASSERT(to_disconnect <= seeds.end_index());
|
TORRENT_ASSERT(to_disconnect <= seeds.end_index());
|
||||||
for (auto const& p : span<peer_connection*>(seeds).first(to_disconnect))
|
for (auto const& p : span<peer_connection*>(seeds).first(to_disconnect))
|
||||||
p->disconnect(errors::upload_upload_connection, operation_t::bittorrent);
|
p->disconnect(errors::upload_upload_connection, operation_t::bittorrent);
|
||||||
|
|
|
@ -1320,19 +1320,10 @@ namespace {
|
||||||
if (!m_urls.empty())
|
if (!m_urls.empty())
|
||||||
{
|
{
|
||||||
// shuffle each tier
|
// shuffle each tier
|
||||||
auto start = m_urls.begin();
|
aux::random_shuffle(m_urls);
|
||||||
std::vector<announce_entry>::iterator stop;
|
std::stable_sort(m_urls.begin(), m_urls.end()
|
||||||
int current_tier = m_urls.front().tier;
|
, [](announce_entry const& lhs, announce_entry const& rhs)
|
||||||
for (stop = m_urls.begin(); stop != m_urls.end(); ++stop)
|
{ return lhs.tier < rhs.tier; });
|
||||||
{
|
|
||||||
if (stop->tier != current_tier)
|
|
||||||
{
|
|
||||||
aux::random_shuffle(start, stop);
|
|
||||||
start = stop;
|
|
||||||
current_tier = stop->tier;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
aux::random_shuffle(start, stop);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/peer_connection.hpp"
|
#include "libtorrent/peer_connection.hpp"
|
||||||
#include "libtorrent/bt_peer_connection.hpp"
|
#include "libtorrent/bt_peer_connection.hpp"
|
||||||
#include "libtorrent/peer_connection_handle.hpp"
|
#include "libtorrent/peer_connection_handle.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/bencode.hpp"
|
#include "libtorrent/bencode.hpp"
|
||||||
#include "libtorrent/torrent.hpp"
|
#include "libtorrent/torrent.hpp"
|
||||||
#include "libtorrent/torrent_handle.hpp"
|
#include "libtorrent/torrent_handle.hpp"
|
||||||
|
@ -53,6 +52,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/performance_counters.hpp" // for counters
|
#include "libtorrent/performance_counters.hpp" // for counters
|
||||||
#include "libtorrent/aux_/time.hpp"
|
#include "libtorrent/aux_/time.hpp"
|
||||||
|
|
||||||
|
#if TORRENT_USE_ASSERTS
|
||||||
|
#include "libtorrent/hasher.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace libtorrent {namespace {
|
namespace libtorrent {namespace {
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
|
|
@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/write_resume_data.hpp"
|
#include "libtorrent/write_resume_data.hpp"
|
||||||
#include "libtorrent/add_torrent_params.hpp"
|
#include "libtorrent/add_torrent_params.hpp"
|
||||||
#include "libtorrent/socket_io.hpp" // for write_*_endpoint()
|
#include "libtorrent/socket_io.hpp" // for write_*_endpoint()
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/torrent_info.hpp"
|
#include "libtorrent/torrent_info.hpp"
|
||||||
#include "libtorrent/aux_/numeric_cast.hpp"
|
#include "libtorrent/aux_/numeric_cast.hpp"
|
||||||
#include "libtorrent/torrent.hpp" // for default_piece_priority
|
#include "libtorrent/torrent.hpp" // for default_piece_priority
|
||||||
|
|
|
@ -394,7 +394,7 @@ void peer_conn::on_message(error_code const& ec, size_t bytes_transferred)
|
||||||
pieces.clear();
|
pieces.clear();
|
||||||
for (int i = 0; i < int(pieces.size()); ++i)
|
for (int i = 0; i < int(pieces.size()); ++i)
|
||||||
pieces.push_back(i);
|
pieces.push_back(i);
|
||||||
aux::random_shuffle(pieces.begin(), pieces.end());
|
aux::random_shuffle(pieces);
|
||||||
}
|
}
|
||||||
else if (msg == 4) // have
|
else if (msg == 4) // have
|
||||||
{
|
{
|
||||||
|
@ -418,7 +418,7 @@ void peer_conn::on_message(error_code const& ec, size_t bytes_transferred)
|
||||||
}
|
}
|
||||||
++ptr;
|
++ptr;
|
||||||
}
|
}
|
||||||
aux::random_shuffle(pieces.begin(), pieces.end());
|
aux::random_shuffle(pieces);
|
||||||
}
|
}
|
||||||
else if (msg == 7) // piece
|
else if (msg == 7) // piece
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,7 +34,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <random>
|
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
#include "libtorrent/hasher.hpp"
|
||||||
|
@ -51,7 +50,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/hex.hpp" // to_hex
|
#include "libtorrent/hex.hpp" // to_hex
|
||||||
#include "libtorrent/aux_/vector.hpp"
|
#include "libtorrent/aux_/vector.hpp"
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
#include "libtorrent/random.hpp"
|
|
||||||
|
|
||||||
#include "test.hpp"
|
#include "test.hpp"
|
||||||
#include "test_utils.hpp"
|
#include "test_utils.hpp"
|
||||||
|
@ -601,9 +599,6 @@ std::shared_ptr<T> clone_ptr(std::shared_ptr<T> const& ptr)
|
||||||
return std::make_shared<T>(*ptr);
|
return std::make_shared<T>(*ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::uint8_t random_byte()
|
|
||||||
{ return static_cast<std::uint8_t>(lt::random(0xff)); }
|
|
||||||
|
|
||||||
std::vector<char> generate_piece(piece_index_t const idx, int const piece_size)
|
std::vector<char> generate_piece(piece_index_t const idx, int const piece_size)
|
||||||
{
|
{
|
||||||
using namespace lt;
|
using namespace lt;
|
||||||
|
|
|
@ -43,7 +43,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
EXPORT std::shared_ptr<lt::torrent_info> generate_torrent();
|
EXPORT std::shared_ptr<lt::torrent_info> generate_torrent();
|
||||||
|
|
||||||
EXPORT int print_failures();
|
EXPORT int print_failures();
|
||||||
EXPORT unsigned char random_byte();
|
|
||||||
|
|
||||||
EXPORT int load_file(std::string const& filename, std::vector<char>& v
|
EXPORT int load_file(std::string const& filename, std::vector<char>& v
|
||||||
, lt::error_code& ec, int limit = 8000000);
|
, lt::error_code& ec, int limit = 8000000);
|
||||||
|
|
|
@ -32,7 +32,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
#include "libtorrent/random.hpp"
|
#include "libtorrent/random.hpp"
|
||||||
|
|
|
@ -32,7 +32,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/ip_filter.hpp"
|
#include "libtorrent/ip_filter.hpp"
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
|
|
|
@ -1710,7 +1710,7 @@ void test_routing_table(address(&rand_addr)())
|
||||||
|
|
||||||
std::vector<node_entry> temp;
|
std::vector<node_entry> temp;
|
||||||
|
|
||||||
std::generate(tmp.begin(), tmp.end(), random_byte);
|
aux::random_bytes(tmp);
|
||||||
table.find_node(tmp, temp, 0, int(nodes.size()) * 2);
|
table.find_node(tmp, temp, 0, int(nodes.size()) * 2);
|
||||||
std::printf("returned-all: %d\n", int(temp.size()));
|
std::printf("returned-all: %d\n", int(temp.size()));
|
||||||
TEST_EQUAL(temp.size(), nodes.size());
|
TEST_EQUAL(temp.size(), nodes.size());
|
||||||
|
@ -1723,7 +1723,7 @@ void test_routing_table(address(&rand_addr)())
|
||||||
|
|
||||||
for (int r = 0; r < reps; ++r)
|
for (int r = 0; r < reps; ++r)
|
||||||
{
|
{
|
||||||
std::generate(tmp.begin(), tmp.end(), random_byte);
|
aux::random_bytes(tmp);
|
||||||
table.find_node(tmp, temp, 0, bucket_size * 2);
|
table.find_node(tmp, temp, 0, bucket_size * 2);
|
||||||
std::printf("returned: %d\n", int(temp.size()));
|
std::printf("returned: %d\n", int(temp.size()));
|
||||||
TEST_EQUAL(int(temp.size()), std::min(bucket_size * 2, int(nodes.size())));
|
TEST_EQUAL(int(temp.size()), std::min(bucket_size * 2, int(nodes.size())));
|
||||||
|
@ -3065,7 +3065,7 @@ TORRENT_TEST(routing_table_extended)
|
||||||
std::vector<std::uint8_t> node_id_prefix;
|
std::vector<std::uint8_t> node_id_prefix;
|
||||||
node_id_prefix.reserve(256);
|
node_id_prefix.reserve(256);
|
||||||
for (int i = 0; i < 256; ++i) node_id_prefix.push_back(i & 0xff);
|
for (int i = 0; i < 256; ++i) node_id_prefix.push_back(i & 0xff);
|
||||||
aux::random_shuffle(node_id_prefix.begin(), node_id_prefix.end());
|
aux::random_shuffle(node_id_prefix);
|
||||||
|
|
||||||
routing_table tbl(id, udp::v4(), 8, sett, &observer);
|
routing_table tbl(id, udp::v4(), 8, sett, &observer);
|
||||||
for (std::size_t i = 0; i < 256; ++i)
|
for (std::size_t i = 0; i < 256; ++i)
|
||||||
|
@ -3099,7 +3099,7 @@ TORRENT_TEST(routing_table_set_id)
|
||||||
std::vector<std::uint8_t> node_id_prefix;
|
std::vector<std::uint8_t> node_id_prefix;
|
||||||
node_id_prefix.reserve(256);
|
node_id_prefix.reserve(256);
|
||||||
for (int i = 0; i < 256; ++i) node_id_prefix.push_back(i & 0xff);
|
for (int i = 0; i < 256; ++i) node_id_prefix.push_back(i & 0xff);
|
||||||
aux::random_shuffle(node_id_prefix.begin(), node_id_prefix.end());
|
aux::random_shuffle(node_id_prefix);
|
||||||
routing_table tbl(id, udp::v4(), 8, sett, &observer);
|
routing_table tbl(id, udp::v4(), 8, sett, &observer);
|
||||||
for (std::size_t i = 0; i < 256; ++i)
|
for (std::size_t i = 0; i < 256; ++i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,7 +33,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/torrent_status.hpp"
|
#include "libtorrent/torrent_status.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
|
||||||
|
|
|
@ -35,12 +35,9 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/hasher.hpp"
|
#include "libtorrent/hasher.hpp"
|
||||||
#include "libtorrent/pe_crypto.hpp"
|
#include "libtorrent/pe_crypto.hpp"
|
||||||
#include "libtorrent/session.hpp"
|
|
||||||
#include "libtorrent/random.hpp"
|
#include "libtorrent/random.hpp"
|
||||||
#include "libtorrent/span.hpp"
|
#include "libtorrent/span.hpp"
|
||||||
#include "libtorrent/buffer.hpp"
|
|
||||||
|
|
||||||
#include "setup_transfer.hpp"
|
|
||||||
#include "test.hpp"
|
#include "test.hpp"
|
||||||
|
|
||||||
#if !defined TORRENT_DISABLE_ENCRYPTION
|
#if !defined TORRENT_DISABLE_ENCRYPTION
|
||||||
|
@ -52,11 +49,11 @@ void test_enc_handler(lt::crypto_plugin& a, lt::crypto_plugin& b)
|
||||||
int const repcount = 128;
|
int const repcount = 128;
|
||||||
for (int rep = 0; rep < repcount; ++rep)
|
for (int rep = 0; rep < repcount; ++rep)
|
||||||
{
|
{
|
||||||
std::ptrdiff_t const buf_len = rand() % (512 * 1024);
|
std::ptrdiff_t const buf_len = lt::random(512 * 1024);
|
||||||
std::vector<char> buf(static_cast<std::size_t>(buf_len));
|
std::vector<char> buf(static_cast<std::size_t>(buf_len));
|
||||||
std::vector<char> cmp_buf(static_cast<std::size_t>(buf_len));
|
std::vector<char> cmp_buf(static_cast<std::size_t>(buf_len));
|
||||||
|
|
||||||
std::generate(buf.begin(), buf.end(), &std::rand);
|
lt::aux::random_bytes(buf);
|
||||||
std::copy(buf.begin(), buf.end(), cmp_buf.begin());
|
std::copy(buf.begin(), buf.end(), cmp_buf.begin());
|
||||||
|
|
||||||
using namespace lt::aux;
|
using namespace lt::aux;
|
||||||
|
|
|
@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/extensions/ut_pex.hpp"
|
#include "libtorrent/extensions/ut_pex.hpp"
|
||||||
#include "libtorrent/ip_filter.hpp"
|
#include "libtorrent/ip_filter.hpp"
|
||||||
#include "libtorrent/torrent_status.hpp"
|
#include "libtorrent/torrent_status.hpp"
|
||||||
|
|
|
@ -32,7 +32,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/bencode.hpp"
|
#include "libtorrent/bencode.hpp"
|
||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
|
|
|
@ -46,6 +46,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/write_resume_data.hpp"
|
#include "libtorrent/write_resume_data.hpp"
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
#include "libtorrent/aux_/storage_utils.hpp"
|
#include "libtorrent/aux_/storage_utils.hpp"
|
||||||
|
#include "libtorrent/random.hpp"
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <functional> // for bind
|
#include <functional> // for bind
|
||||||
|
@ -185,7 +186,7 @@ std::shared_ptr<default_storage> setup_torrent(file_storage& fs
|
||||||
std::vector<char> new_piece(std::size_t const size)
|
std::vector<char> new_piece(std::size_t const size)
|
||||||
{
|
{
|
||||||
std::vector<char> ret(size);
|
std::vector<char> ret(size);
|
||||||
std::generate(ret.begin(), ret.end(), random_byte);
|
aux::random_bytes(ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/bencode.hpp"
|
#include "libtorrent/bencode.hpp"
|
||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
|
|
|
@ -32,7 +32,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/bencode.hpp"
|
#include "libtorrent/bencode.hpp"
|
||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
|
|
|
@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "setup_transfer.hpp"
|
#include "setup_transfer.hpp"
|
||||||
#include "web_seed_suite.hpp"
|
#include "web_seed_suite.hpp"
|
||||||
#include "settings.hpp"
|
#include "settings.hpp"
|
||||||
|
#include "libtorrent/random.hpp"
|
||||||
#include "libtorrent/create_torrent.hpp"
|
#include "libtorrent/create_torrent.hpp"
|
||||||
#include "libtorrent/torrent_info.hpp"
|
#include "libtorrent/torrent_info.hpp"
|
||||||
|
|
||||||
|
@ -48,8 +49,8 @@ TORRENT_TEST(web_seed_redirect)
|
||||||
file_storage fs;
|
file_storage fs;
|
||||||
int piece_size = 0x4000;
|
int piece_size = 0x4000;
|
||||||
|
|
||||||
char random_data[16000];
|
std::array<char, 16000> random_data;
|
||||||
std::generate(random_data, random_data + sizeof(random_data), random_byte);
|
aux::random_bytes(random_data);
|
||||||
file f("test_file", open_mode::write_only, ec);
|
file f("test_file", open_mode::write_only, ec);
|
||||||
if (ec)
|
if (ec)
|
||||||
{
|
{
|
||||||
|
@ -58,7 +59,7 @@ TORRENT_TEST(web_seed_redirect)
|
||||||
TEST_ERROR("failed to create file");
|
TEST_ERROR("failed to create file");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
iovec_t b = { random_data, size_t(16000)};
|
iovec_t b = random_data;
|
||||||
f.writev(0, b, ec);
|
f.writev(0, b, ec);
|
||||||
fs.add_file("test_file", 16000);
|
fs.add_file("test_file", 16000);
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
|
||||||
#include "libtorrent/file_pool.hpp"
|
#include "libtorrent/file_pool.hpp"
|
||||||
#include "libtorrent/aux_/path.hpp"
|
#include "libtorrent/aux_/path.hpp"
|
||||||
#include "libtorrent/storage.hpp"
|
#include "libtorrent/storage.hpp"
|
||||||
|
|
Loading…
Reference in New Issue