replace boost::function with std::function
This commit is contained in:
parent
5308de69fe
commit
8c8c3d5587
@ -70,7 +70,7 @@ int main(int argc, char* argv[])
|
|||||||
}
|
}
|
||||||
add_torrent_params p;
|
add_torrent_params p;
|
||||||
p.save_path = "./";
|
p.save_path = "./";
|
||||||
p.ti = boost::make_shared<torrent_info>(std::string(argv[1]), boost::ref(ec), 0);
|
p.ti = boost::make_shared<torrent_info>(std::string(argv[1]), std::ref(ec), 0);
|
||||||
if (ec)
|
if (ec)
|
||||||
{
|
{
|
||||||
std::fprintf(stderr, "%s\n", ec.message().c_str());
|
std::fprintf(stderr, "%s\n", ec.message().c_str());
|
||||||
|
@ -36,10 +36,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
#include "libtorrent/storage_defs.hpp"
|
#include "libtorrent/storage_defs.hpp"
|
||||||
@ -343,7 +343,7 @@ namespace libtorrent
|
|||||||
// to avoid race conditions. For instance it may be important to have the
|
// to avoid race conditions. For instance it may be important to have the
|
||||||
// plugin catch events that happen very early on after the torrent is
|
// plugin catch events that happen very early on after the torrent is
|
||||||
// created.
|
// created.
|
||||||
std::vector<boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)>>
|
std::vector<std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)>>
|
||||||
extensions;
|
extensions;
|
||||||
|
|
||||||
// the default tracker id to be used when announcing to trackers. By
|
// the default tracker id to be used when announcing to trackers. By
|
||||||
|
@ -40,15 +40,16 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <utility> // for std::forward
|
#include <utility> // for std::forward
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
|
||||||
|
|
||||||
namespace libtorrent {
|
namespace libtorrent {
|
||||||
|
|
||||||
@ -113,7 +114,7 @@ namespace libtorrent {
|
|||||||
int alert_queue_size_limit() const { return m_queue_size_limit; }
|
int alert_queue_size_limit() const { return m_queue_size_limit; }
|
||||||
int set_alert_queue_size_limit(int queue_size_limit_);
|
int set_alert_queue_size_limit(int queue_size_limit_);
|
||||||
|
|
||||||
void set_notify_function(boost::function<void()> const& fun);
|
void set_notify_function(std::function<void()> const& fun);
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
void add_extension(boost::shared_ptr<plugin> ext);
|
void add_extension(boost::shared_ptr<plugin> ext);
|
||||||
@ -138,7 +139,7 @@ namespace libtorrent {
|
|||||||
// That call will drain every alert in one atomic operation and this
|
// That call will drain every alert in one atomic operation and this
|
||||||
// notification function will be called again the next time an alert is
|
// notification function will be called again the next time an alert is
|
||||||
// posted to the queue
|
// posted to the queue
|
||||||
boost::function<void()> m_notify;
|
std::function<void()> m_notify;
|
||||||
|
|
||||||
// this is either 0 or 1, it indicates which m_alerts and m_allocations
|
// this is either 0 or 1, it indicates which m_alerts and m_allocations
|
||||||
// the alert_manager is allowed to use right now. This is swapped when
|
// the alert_manager is allowed to use right now. This is swapped when
|
||||||
|
@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
#include "libtorrent/aux_/session_impl.hpp"
|
#include "libtorrent/aux_/session_impl.hpp"
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
namespace libtorrent { namespace aux {
|
namespace libtorrent { namespace aux {
|
||||||
|
@ -112,7 +112,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
struct bencode_map_entry;
|
struct bencode_map_entry;
|
||||||
|
|
||||||
typedef boost::function<bool(udp::endpoint const& source
|
typedef std::function<bool(udp::endpoint const& source
|
||||||
, bdecode_node const& request, entry& response)> dht_extension_handler_t;
|
, bdecode_node const& request, entry& response)> dht_extension_handler_t;
|
||||||
|
|
||||||
struct listen_socket_t
|
struct listen_socket_t
|
||||||
@ -217,7 +217,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
using ext_function_t
|
using ext_function_t
|
||||||
= boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)>;
|
= std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)>;
|
||||||
|
|
||||||
struct session_plugin_wrapper : plugin
|
struct session_plugin_wrapper : plugin
|
||||||
{
|
{
|
||||||
@ -229,7 +229,7 @@ namespace libtorrent
|
|||||||
ext_function_t m_f;
|
ext_function_t m_f;
|
||||||
};
|
};
|
||||||
|
|
||||||
void add_extension(boost::function<boost::shared_ptr<torrent_plugin>(
|
void add_extension(std::function<boost::shared_ptr<torrent_plugin>(
|
||||||
torrent_handle const&, void*)> ext);
|
torrent_handle const&, void*)> ext);
|
||||||
void add_ses_extension(boost::shared_ptr<plugin> ext);
|
void add_ses_extension(boost::shared_ptr<plugin> ext);
|
||||||
#endif
|
#endif
|
||||||
@ -349,7 +349,7 @@ namespace libtorrent
|
|||||||
void dht_put_immutable_item(entry const& data, sha1_hash target);
|
void dht_put_immutable_item(entry const& data, sha1_hash target);
|
||||||
|
|
||||||
void dht_put_mutable_item(std::array<char, 32> key
|
void dht_put_mutable_item(std::array<char, 32> key
|
||||||
, boost::function<void(entry&, std::array<char,64>&
|
, std::function<void(entry&, std::array<char,64>&
|
||||||
, std::uint64_t&, std::string const&)> cb
|
, std::uint64_t&, std::string const&)> cb
|
||||||
, std::string salt = std::string());
|
, std::string salt = std::string());
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ namespace libtorrent
|
|||||||
void remove_torrent_impl(boost::shared_ptr<torrent> tptr, int options) override;
|
void remove_torrent_impl(boost::shared_ptr<torrent> tptr, int options) override;
|
||||||
|
|
||||||
void get_torrent_status(std::vector<torrent_status>* ret
|
void get_torrent_status(std::vector<torrent_status>* ret
|
||||||
, boost::function<bool(torrent_status const&)> const& pred
|
, std::function<bool(torrent_status const&)> const& pred
|
||||||
, std::uint32_t flags) const;
|
, std::uint32_t flags) const;
|
||||||
void refresh_torrent_status(std::vector<torrent_status>* ret
|
void refresh_torrent_status(std::vector<torrent_status>* ret
|
||||||
, std::uint32_t flags) const;
|
, std::uint32_t flags) const;
|
||||||
|
@ -39,6 +39,8 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/io_service.hpp"
|
#include "libtorrent/io_service.hpp"
|
||||||
#include "libtorrent/disk_buffer_holder.hpp"
|
#include "libtorrent/disk_buffer_holder.hpp"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
#include "libtorrent/socket.hpp"
|
#include "libtorrent/socket.hpp"
|
||||||
#endif
|
#endif
|
||||||
@ -48,7 +50,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
#include <boost/weak_ptr.hpp>
|
#include <boost/weak_ptr.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
@ -155,7 +156,7 @@ namespace libtorrent { namespace aux
|
|||||||
virtual io_service& get_io_service() = 0;
|
virtual io_service& get_io_service() = 0;
|
||||||
virtual resolver_interface& get_resolver() = 0;
|
virtual resolver_interface& get_resolver() = 0;
|
||||||
|
|
||||||
typedef boost::function<void(error_code const&, std::vector<address> const&)>
|
typedef std::function<void(error_code const&, std::vector<address> const&)>
|
||||||
callback_t;
|
callback_t;
|
||||||
|
|
||||||
// TODO: 2 remove this. There's already get_resolver()
|
// TODO: 2 remove this. There's already get_resolver()
|
||||||
|
@ -338,7 +338,7 @@ namespace libtorrent
|
|||||||
struct TORRENT_EXTRA_EXPORT block_cache : disk_buffer_pool
|
struct TORRENT_EXTRA_EXPORT block_cache : disk_buffer_pool
|
||||||
{
|
{
|
||||||
block_cache(int block_size, io_service& ios
|
block_cache(int block_size, io_service& ios
|
||||||
, boost::function<void()> const& trigger_trim);
|
, std::function<void()> const& trigger_trim);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ namespace libtorrent
|
|||||||
// determines if the operating system supports IPv6
|
// determines if the operating system supports IPv6
|
||||||
TORRENT_EXTRA_EXPORT bool supports_ipv6();
|
TORRENT_EXTRA_EXPORT bool supports_ipv6();
|
||||||
|
|
||||||
typedef boost::function<void(udp::endpoint const& from
|
typedef std::function<void(udp::endpoint const& from
|
||||||
, char* buffer, int size)> receive_handler_t;
|
, char* buffer, int size)> receive_handler_t;
|
||||||
|
|
||||||
class TORRENT_EXTRA_EXPORT broadcast_socket
|
class TORRENT_EXTRA_EXPORT broadcast_socket
|
||||||
|
@ -395,7 +395,7 @@ namespace libtorrent
|
|||||||
// The ``flags`` argument should be the same as the flags passed to the `create_torrent`_
|
// The ``flags`` argument should be the same as the flags passed to the `create_torrent`_
|
||||||
// constructor.
|
// constructor.
|
||||||
TORRENT_EXPORT void add_files(file_storage& fs, std::string const& file
|
TORRENT_EXPORT void add_files(file_storage& fs, std::string const& file
|
||||||
, boost::function<bool(std::string)> p, std::uint32_t flags = 0);
|
, std::function<bool(std::string)> p, std::uint32_t flags = 0);
|
||||||
TORRENT_EXPORT void add_files(file_storage& fs, std::string const& file
|
TORRENT_EXPORT void add_files(file_storage& fs, std::string const& file
|
||||||
, std::uint32_t flags = 0);
|
, std::uint32_t flags = 0);
|
||||||
|
|
||||||
@ -409,7 +409,7 @@ namespace libtorrent
|
|||||||
// The overloads that don't take an ``error_code&`` may throw an exception in case of a
|
// The overloads that don't take an ``error_code&`` may throw an exception in case of a
|
||||||
// file error, the other overloads sets the error code to reflect the error, if any.
|
// file error, the other overloads sets the error code to reflect the error, if any.
|
||||||
TORRENT_EXPORT void set_piece_hashes(create_torrent& t, std::string const& p
|
TORRENT_EXPORT void set_piece_hashes(create_torrent& t, std::string const& p
|
||||||
, boost::function<void(int)> const& f, error_code& ec);
|
, std::function<void(int)> const& f, error_code& ec);
|
||||||
inline void set_piece_hashes(create_torrent& t, std::string const& p, error_code& ec)
|
inline void set_piece_hashes(create_torrent& t, std::string const& p, error_code& ec)
|
||||||
{
|
{
|
||||||
set_piece_hashes(t, p, detail::nop, ec);
|
set_piece_hashes(t, p, detail::nop, ec);
|
||||||
@ -440,7 +440,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
TORRENT_DEPRECATED
|
TORRENT_DEPRECATED
|
||||||
TORRENT_EXPORT void add_files(file_storage& fs, std::wstring const& wfile
|
TORRENT_EXPORT void add_files(file_storage& fs, std::wstring const& wfile
|
||||||
, boost::function<bool(std::string)> p, std::uint32_t flags = 0);
|
, std::function<bool(std::string)> p, std::uint32_t flags = 0);
|
||||||
|
|
||||||
TORRENT_DEPRECATED
|
TORRENT_DEPRECATED
|
||||||
TORRENT_EXPORT void add_files(file_storage& fs, std::wstring const& wfile
|
TORRENT_EXPORT void add_files(file_storage& fs, std::wstring const& wfile
|
||||||
@ -448,11 +448,11 @@ namespace libtorrent
|
|||||||
|
|
||||||
TORRENT_DEPRECATED
|
TORRENT_DEPRECATED
|
||||||
TORRENT_EXPORT void set_piece_hashes(create_torrent& t, std::wstring const& p
|
TORRENT_EXPORT void set_piece_hashes(create_torrent& t, std::wstring const& p
|
||||||
, boost::function<void(int)> f, error_code& ec);
|
, std::function<void(int)> f, error_code& ec);
|
||||||
|
|
||||||
TORRENT_EXPORT void set_piece_hashes_deprecated(create_torrent& t
|
TORRENT_EXPORT void set_piece_hashes_deprecated(create_torrent& t
|
||||||
, std::wstring const& p
|
, std::wstring const& p
|
||||||
, boost::function<void(int)> f, error_code& ec);
|
, std::function<void(int)> f, error_code& ec);
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
#ifndef BOOST_NO_EXCEPTIONS
|
||||||
template <class Fun>
|
template <class Fun>
|
||||||
|
@ -36,11 +36,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include <mutex>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/utility.hpp>
|
#include <boost/utility.hpp>
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_POOL_ALLOCATOR
|
#ifndef TORRENT_DISABLE_POOL_ALLOCATOR
|
||||||
@ -48,11 +44,14 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <boost/pool/pool.hpp>
|
#include <boost/pool/pool.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
#if TORRENT_USE_INVARIANT_CHECKS
|
#if TORRENT_USE_INVARIANT_CHECKS
|
||||||
#include <set>
|
#include <set>
|
||||||
#endif
|
#endif
|
||||||
|
#include <vector>
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include <mutex>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/io_service_fwd.hpp"
|
#include "libtorrent/io_service_fwd.hpp"
|
||||||
#include "libtorrent/file.hpp" // for iovec_t
|
#include "libtorrent/file.hpp" // for iovec_t
|
||||||
@ -66,7 +65,7 @@ namespace libtorrent
|
|||||||
struct TORRENT_EXTRA_EXPORT disk_buffer_pool : boost::noncopyable
|
struct TORRENT_EXTRA_EXPORT disk_buffer_pool : boost::noncopyable
|
||||||
{
|
{
|
||||||
disk_buffer_pool(int block_size, io_service& ios
|
disk_buffer_pool(int block_size, io_service& ios
|
||||||
, boost::function<void()> const& trigger_trim);
|
, std::function<void()> const& trigger_trim);
|
||||||
~disk_buffer_pool();
|
~disk_buffer_pool();
|
||||||
|
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
@ -125,7 +124,7 @@ namespace libtorrent
|
|||||||
std::vector<boost::weak_ptr<disk_observer>> m_observers;
|
std::vector<boost::weak_ptr<disk_observer>> m_observers;
|
||||||
|
|
||||||
// callback used to tell the cache it needs to free up some blocks
|
// callback used to tell the cache it needs to free up some blocks
|
||||||
boost::function<void()> m_trigger_cache_trim;
|
std::function<void()> m_trigger_cache_trim;
|
||||||
|
|
||||||
// set to true to throttle more allocations
|
// set to true to throttle more allocations
|
||||||
bool m_exceeded_max_size;
|
bool m_exceeded_max_size;
|
||||||
|
@ -53,50 +53,50 @@ namespace libtorrent
|
|||||||
struct TORRENT_EXTRA_EXPORT disk_interface
|
struct TORRENT_EXTRA_EXPORT disk_interface
|
||||||
{
|
{
|
||||||
virtual void async_read(piece_manager* storage, peer_request const& r
|
virtual void async_read(piece_manager* storage, peer_request const& r
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester
|
, std::function<void(disk_io_job const*)> handler, void* requester
|
||||||
, int flags = 0) = 0;
|
, int flags = 0) = 0;
|
||||||
virtual void async_write(piece_manager* storage, peer_request const& r
|
virtual void async_write(piece_manager* storage, peer_request const& r
|
||||||
, disk_buffer_holder buffer
|
, disk_buffer_holder buffer
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
, int flags = 0) = 0;
|
, int flags = 0) = 0;
|
||||||
virtual void async_hash(piece_manager* storage, int piece, int flags
|
virtual void async_hash(piece_manager* storage, int piece, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester) = 0;
|
, std::function<void(disk_io_job const*)> handler, void* requester) = 0;
|
||||||
virtual void async_move_storage(piece_manager* storage, std::string const& p, int flags
|
virtual void async_move_storage(piece_manager* storage, std::string const& p, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_release_files(piece_manager* storage
|
virtual void async_release_files(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) = 0;
|
= std::function<void(disk_io_job const*)>()) = 0;
|
||||||
virtual void async_check_files(piece_manager* storage
|
virtual void async_check_files(piece_manager* storage
|
||||||
, add_torrent_params const* resume_data
|
, add_torrent_params const* resume_data
|
||||||
, std::vector<std::string>& links
|
, std::vector<std::string>& links
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
virtual void async_cache_piece(piece_manager* storage, int piece
|
virtual void async_cache_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_finalize_file(piece_manager*, int file
|
virtual void async_finalize_file(piece_manager*, int file
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) = 0;
|
= std::function<void(disk_io_job const*)>()) = 0;
|
||||||
#endif
|
#endif
|
||||||
virtual void async_flush_piece(piece_manager* storage, int piece
|
virtual void async_flush_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) = 0;
|
= std::function<void(disk_io_job const*)>()) = 0;
|
||||||
virtual void async_stop_torrent(piece_manager* storage
|
virtual void async_stop_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler)= 0;
|
, std::function<void(disk_io_job const*)> handler)= 0;
|
||||||
virtual void async_rename_file(piece_manager* storage, int index, std::string const& name
|
virtual void async_rename_file(piece_manager* storage, int index, std::string const& name
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_delete_files(piece_manager* storage, int options
|
virtual void async_delete_files(piece_manager* storage, int options
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_set_file_priority(piece_manager* storage
|
virtual void async_set_file_priority(piece_manager* storage
|
||||||
, std::vector<std::uint8_t> const& prio
|
, std::vector<std::uint8_t> const& prio
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_load_torrent(add_torrent_params* params
|
virtual void async_load_torrent(add_torrent_params* params
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void async_tick_torrent(piece_manager* storage
|
virtual void async_tick_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
|
|
||||||
virtual void clear_read_cache(piece_manager* storage) = 0;
|
virtual void clear_read_cache(piece_manager* storage) = 0;
|
||||||
virtual void async_clear_piece(piece_manager* storage, int index
|
virtual void async_clear_piece(piece_manager* storage, int index
|
||||||
, boost::function<void(disk_io_job const*)> handler) = 0;
|
, std::function<void(disk_io_job const*)> handler) = 0;
|
||||||
virtual void clear_piece(piece_manager* storage, int index) = 0;
|
virtual void clear_piece(piece_manager* storage, int index) = 0;
|
||||||
|
|
||||||
virtual void update_stats_counters(counters& c) const = 0;
|
virtual void update_stats_counters(counters& c) const = 0;
|
||||||
|
@ -164,7 +164,7 @@ namespace libtorrent
|
|||||||
boost::shared_ptr<piece_manager> storage;
|
boost::shared_ptr<piece_manager> storage;
|
||||||
|
|
||||||
// this is called when operation completes
|
// this is called when operation completes
|
||||||
boost::function<void(disk_io_job const*)> callback;
|
std::function<void(disk_io_job const*)> callback;
|
||||||
|
|
||||||
// the error code from the file operation
|
// the error code from the file operation
|
||||||
// on error, this also contains the path of the
|
// on error, this also contains the path of the
|
||||||
|
@ -300,50 +300,50 @@ namespace libtorrent
|
|||||||
void abort(bool wait);
|
void abort(bool wait);
|
||||||
|
|
||||||
void async_read(piece_manager* storage, peer_request const& r
|
void async_read(piece_manager* storage, peer_request const& r
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester
|
, std::function<void(disk_io_job const*)> handler, void* requester
|
||||||
, int flags = 0) override;
|
, int flags = 0) override;
|
||||||
void async_write(piece_manager* storage, peer_request const& r
|
void async_write(piece_manager* storage, peer_request const& r
|
||||||
, disk_buffer_holder buffer
|
, disk_buffer_holder buffer
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
, int flags = 0) override;
|
, int flags = 0) override;
|
||||||
void async_hash(piece_manager* storage, int piece, int flags
|
void async_hash(piece_manager* storage, int piece, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester) override;
|
, std::function<void(disk_io_job const*)> handler, void* requester) override;
|
||||||
void async_move_storage(piece_manager* storage, std::string const& p, int flags
|
void async_move_storage(piece_manager* storage, std::string const& p, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_release_files(piece_manager* storage
|
void async_release_files(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) override;
|
= std::function<void(disk_io_job const*)>()) override;
|
||||||
void async_delete_files(piece_manager* storage, int options
|
void async_delete_files(piece_manager* storage, int options
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_check_files(piece_manager* storage
|
void async_check_files(piece_manager* storage
|
||||||
, add_torrent_params const* resume_data
|
, add_torrent_params const* resume_data
|
||||||
, std::vector<std::string>& links
|
, std::vector<std::string>& links
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_rename_file(piece_manager* storage, int index, std::string const& name
|
void async_rename_file(piece_manager* storage, int index, std::string const& name
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_stop_torrent(piece_manager* storage
|
void async_stop_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
void async_cache_piece(piece_manager* storage, int piece
|
void async_cache_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_finalize_file(piece_manager* storage, int file
|
void async_finalize_file(piece_manager* storage, int file
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) override;
|
= std::function<void(disk_io_job const*)>()) override;
|
||||||
#endif
|
#endif
|
||||||
void async_flush_piece(piece_manager* storage, int piece
|
void async_flush_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
= boost::function<void(disk_io_job const*)>()) override;
|
= std::function<void(disk_io_job const*)>()) override;
|
||||||
void async_set_file_priority(piece_manager* storage
|
void async_set_file_priority(piece_manager* storage
|
||||||
, std::vector<std::uint8_t> const& prio
|
, std::vector<std::uint8_t> const& prio
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_load_torrent(add_torrent_params* params
|
void async_load_torrent(add_torrent_params* params
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
void async_tick_torrent(piece_manager* storage
|
void async_tick_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
|
|
||||||
void clear_read_cache(piece_manager* storage) override;
|
void clear_read_cache(piece_manager* storage) override;
|
||||||
void async_clear_piece(piece_manager* storage, int index
|
void async_clear_piece(piece_manager* storage, int index
|
||||||
, boost::function<void(disk_io_job const*)> handler) override;
|
, std::function<void(disk_io_job const*)> handler) override;
|
||||||
// this is not asynchronous and requires that the piece does not
|
// this is not asynchronous and requires that the piece does not
|
||||||
// have any pending buffers. It's meant to be used for pieces that
|
// have any pending buffers. It's meant to be used for pieces that
|
||||||
// were just read and hashed and failed the hash check.
|
// were just read and hashed and failed the hash check.
|
||||||
|
@ -35,6 +35,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
#include "libtorrent/string_view.hpp"
|
#include "libtorrent/string_view.hpp"
|
||||||
@ -43,7 +44,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include <boost/noncopyable.hpp>
|
#include <boost/noncopyable.hpp>
|
||||||
#include <boost/smart_ptr.hpp>
|
#include <boost/smart_ptr.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#ifdef TORRENT_WINDOWS
|
#ifdef TORRENT_WINDOWS
|
||||||
// windows part
|
// windows part
|
||||||
|
@ -35,7 +35,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/enable_shared_from_this.hpp>
|
#include <boost/enable_shared_from_this.hpp>
|
||||||
#include <boost/noncopyable.hpp>
|
#include <boost/noncopyable.hpp>
|
||||||
|
|
||||||
@ -45,6 +44,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -65,12 +65,12 @@ struct resolver_interface;
|
|||||||
|
|
||||||
const int default_max_bottled_buffer_size = 2 * 1024 * 1024;
|
const int default_max_bottled_buffer_size = 2 * 1024 * 1024;
|
||||||
|
|
||||||
typedef boost::function<void(error_code const&
|
typedef std::function<void(error_code const&
|
||||||
, http_parser const&, char const* data, int size, http_connection&)> http_handler;
|
, http_parser const&, char const* data, int size, http_connection&)> http_handler;
|
||||||
|
|
||||||
typedef boost::function<void(http_connection&)> http_connect_handler;
|
typedef std::function<void(http_connection&)> http_connect_handler;
|
||||||
|
|
||||||
typedef boost::function<void(http_connection&, std::vector<tcp::endpoint>&)> http_filter_handler;
|
typedef std::function<void(http_connection&, std::vector<tcp::endpoint>&)> http_filter_handler;
|
||||||
|
|
||||||
// when bottled, the last two arguments to the handler
|
// when bottled, the last two arguments to the handler
|
||||||
// will always be 0
|
// will always be 0
|
||||||
|
@ -93,35 +93,35 @@ namespace libtorrent { namespace dht
|
|||||||
|
|
||||||
enum flags_t { flag_seed = 1, flag_implied_port = 2 };
|
enum flags_t { flag_seed = 1, flag_implied_port = 2 };
|
||||||
void get_peers(sha1_hash const& ih
|
void get_peers(sha1_hash const& ih
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f);
|
, std::function<void(std::vector<tcp::endpoint> const&)> f);
|
||||||
void announce(sha1_hash const& ih, int listen_port, int flags
|
void announce(sha1_hash const& ih, int listen_port, int flags
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f);
|
, std::function<void(std::vector<tcp::endpoint> const&)> f);
|
||||||
|
|
||||||
void get_item(sha1_hash const& target
|
void get_item(sha1_hash const& target
|
||||||
, boost::function<void(item const&)> cb);
|
, std::function<void(item const&)> cb);
|
||||||
|
|
||||||
// key is a 32-byte binary string, the public key to look up.
|
// key is a 32-byte binary string, the public key to look up.
|
||||||
// the salt is optional
|
// the salt is optional
|
||||||
void get_item(public_key const& key
|
void get_item(public_key const& key
|
||||||
, boost::function<void(item const&, bool)> cb
|
, std::function<void(item const&, bool)> cb
|
||||||
, std::string salt = std::string());
|
, std::string salt = std::string());
|
||||||
|
|
||||||
// for immutable_item.
|
// for immutable_item.
|
||||||
// the callback function will be called when put operation is done.
|
// the callback function will be called when put operation is done.
|
||||||
// the int parameter indicates the success numbers of put operation.
|
// the int parameter indicates the success numbers of put operation.
|
||||||
void put_item(entry const& data
|
void put_item(entry const& data
|
||||||
, boost::function<void(int)> cb);
|
, std::function<void(int)> cb);
|
||||||
|
|
||||||
// for mutable_item.
|
// for mutable_item.
|
||||||
// the data_cb will be called when we get authoritative mutable_item,
|
// the data_cb will be called when we get authoritative mutable_item,
|
||||||
// the cb is same as put immutable_item.
|
// the cb is same as put immutable_item.
|
||||||
void put_item(public_key const& key
|
void put_item(public_key const& key
|
||||||
, boost::function<void(item const&, int)> cb
|
, std::function<void(item const&, int)> cb
|
||||||
, boost::function<void(item&)> data_cb, std::string salt = std::string());
|
, std::function<void(item&)> data_cb, std::string salt = std::string());
|
||||||
|
|
||||||
// send an arbitrary DHT request directly to a node
|
// send an arbitrary DHT request directly to a node
|
||||||
void direct_request(udp::endpoint ep, entry& e
|
void direct_request(udp::endpoint ep, entry& e
|
||||||
, boost::function<void(msg const&)> f);
|
, std::function<void(msg const&)> f);
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
void dht_status(session_status& s);
|
void dht_status(session_status& s);
|
||||||
|
@ -42,7 +42,7 @@ namespace libtorrent { namespace dht
|
|||||||
|
|
||||||
struct direct_traversal : traversal_algorithm
|
struct direct_traversal : traversal_algorithm
|
||||||
{
|
{
|
||||||
typedef boost::function<void(dht::msg const&)> message_callback;
|
typedef std::function<void(dht::msg const&)> message_callback;
|
||||||
|
|
||||||
direct_traversal(node& node
|
direct_traversal(node& node
|
||||||
, node_id target
|
, node_id target
|
||||||
@ -55,10 +55,10 @@ struct direct_traversal : traversal_algorithm
|
|||||||
|
|
||||||
void invoke_cb(msg const& m)
|
void invoke_cb(msg const& m)
|
||||||
{
|
{
|
||||||
if (!m_cb.empty())
|
if (m_cb)
|
||||||
{
|
{
|
||||||
m_cb(m);
|
m_cb(m);
|
||||||
m_cb.clear();
|
m_cb = nullptr;
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ class node;
|
|||||||
|
|
||||||
struct find_data : traversal_algorithm
|
struct find_data : traversal_algorithm
|
||||||
{
|
{
|
||||||
typedef boost::function<void(std::vector<std::pair<node_entry, std::string> > const&)> nodes_callback;
|
typedef std::function<void(std::vector<std::pair<node_entry, std::string> > const&)> nodes_callback;
|
||||||
|
|
||||||
find_data(node& node, node_id target
|
find_data(node& node, node_id target
|
||||||
, nodes_callback const& ncallback);
|
, nodes_callback const& ncallback);
|
||||||
|
@ -43,7 +43,7 @@ namespace libtorrent { namespace dht
|
|||||||
class get_item : public find_data
|
class get_item : public find_data
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef boost::function<void(item const&, bool)> data_callback;
|
typedef std::function<void(item const&, bool)> data_callback;
|
||||||
|
|
||||||
void got_data(bdecode_node const& v,
|
void got_data(bdecode_node const& v,
|
||||||
public_key const& pk,
|
public_key const& pk,
|
||||||
|
@ -40,7 +40,7 @@ namespace libtorrent { namespace dht
|
|||||||
|
|
||||||
struct get_peers : find_data
|
struct get_peers : find_data
|
||||||
{
|
{
|
||||||
typedef boost::function<void(std::vector<tcp::endpoint> const&)> data_callback;
|
typedef std::function<void(std::vector<tcp::endpoint> const&)> data_callback;
|
||||||
|
|
||||||
void got_peers(std::vector<tcp::endpoint> const& peers);
|
void got_peers(std::vector<tcp::endpoint> const& peers);
|
||||||
|
|
||||||
|
@ -141,22 +141,22 @@ public:
|
|||||||
|
|
||||||
enum flags_t { flag_seed = 1, flag_implied_port = 2 };
|
enum flags_t { flag_seed = 1, flag_implied_port = 2 };
|
||||||
void get_peers(sha1_hash const& info_hash
|
void get_peers(sha1_hash const& info_hash
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> dcallback
|
, std::function<void(std::vector<tcp::endpoint> const&)> dcallback
|
||||||
, boost::function<void(std::vector<std::pair<node_entry, std::string> > const&)> ncallback
|
, std::function<void(std::vector<std::pair<node_entry, std::string> > const&)> ncallback
|
||||||
, bool noseeds);
|
, bool noseeds);
|
||||||
void announce(sha1_hash const& info_hash, int listen_port, int flags
|
void announce(sha1_hash const& info_hash, int listen_port, int flags
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f);
|
, std::function<void(std::vector<tcp::endpoint> const&)> f);
|
||||||
|
|
||||||
void direct_request(udp::endpoint ep, entry& e
|
void direct_request(udp::endpoint ep, entry& e
|
||||||
, boost::function<void(msg const&)> f);
|
, std::function<void(msg const&)> f);
|
||||||
|
|
||||||
void get_item(sha1_hash const& target, boost::function<void(item const&)> f);
|
void get_item(sha1_hash const& target, std::function<void(item const&)> f);
|
||||||
void get_item(public_key const& pk, std::string const& salt, boost::function<void(item const&, bool)> f);
|
void get_item(public_key const& pk, std::string const& salt, std::function<void(item const&, bool)> f);
|
||||||
|
|
||||||
void put_item(sha1_hash const& target, entry const& data, boost::function<void(int)> f);
|
void put_item(sha1_hash const& target, entry const& data, std::function<void(int)> f);
|
||||||
void put_item(public_key const& pk, std::string const& salt
|
void put_item(public_key const& pk, std::string const& salt
|
||||||
, boost::function<void(item const&, int)> f
|
, std::function<void(item const&, int)> f
|
||||||
, boost::function<void(item&)> data_cb);
|
, std::function<void(item&)> data_cb);
|
||||||
|
|
||||||
bool verify_token(string_view token, sha1_hash const& info_hash
|
bool verify_token(string_view token, sha1_hash const& info_hash
|
||||||
, udp::endpoint const& addr) const;
|
, udp::endpoint const& addr) const;
|
||||||
|
@ -53,7 +53,7 @@ class node;
|
|||||||
|
|
||||||
struct put_data: traversal_algorithm
|
struct put_data: traversal_algorithm
|
||||||
{
|
{
|
||||||
typedef boost::function<void(item const&, int)> put_callback;
|
typedef std::function<void(item const&, int)> put_callback;
|
||||||
|
|
||||||
put_data(node& node, put_callback const& callback);
|
put_data(node& node, put_callback const& callback);
|
||||||
|
|
||||||
|
@ -54,9 +54,9 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
|
|
||||||
typedef boost::function<void(tcp::endpoint, sha1_hash)> peer_callback_t;
|
typedef std::function<void(tcp::endpoint, sha1_hash)> peer_callback_t;
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
typedef boost::function<void(char const*)> log_callback_t;
|
typedef std::function<void(char const*)> log_callback_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class lsd : public boost::enable_shared_from_this<lsd>
|
class lsd : public boost::enable_shared_from_this<lsd>
|
||||||
|
@ -55,8 +55,8 @@ namespace libtorrent
|
|||||||
// int: port mapping index
|
// int: port mapping index
|
||||||
// int: external port
|
// int: external port
|
||||||
// std::string: error message
|
// std::string: error message
|
||||||
typedef boost::function<void(int, address, int, int, error_code const&)> portmap_callback_t;
|
typedef std::function<void(int, address, int, int, error_code const&)> portmap_callback_t;
|
||||||
typedef boost::function<void(char const*)> log_callback_t;
|
typedef std::function<void(char const*)> log_callback_t;
|
||||||
|
|
||||||
struct TORRENT_EXTRA_EXPORT natpmp
|
struct TORRENT_EXTRA_EXPORT natpmp
|
||||||
: boost::enable_shared_from_this<natpmp>
|
: boost::enable_shared_from_this<natpmp>
|
||||||
|
@ -50,7 +50,7 @@ class proxy_base : boost::noncopyable
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
typedef boost::function<void(error_code const&)> handler_type;
|
typedef std::function<void(error_code const&)> handler_type;
|
||||||
|
|
||||||
typedef tcp::socket next_layer_type;
|
typedef tcp::socket next_layer_type;
|
||||||
typedef tcp::socket::lowest_layer_type lowest_layer_type;
|
typedef tcp::socket::lowest_layer_type lowest_layer_type;
|
||||||
|
@ -36,12 +36,13 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/unordered_map.hpp>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <functional>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "libtorrent/error_code.hpp"
|
#include "libtorrent/error_code.hpp"
|
||||||
#include "libtorrent/io_service.hpp"
|
#include "libtorrent/io_service.hpp"
|
||||||
#include "libtorrent/socket.hpp"
|
#include "libtorrent/socket.hpp"
|
||||||
@ -72,7 +73,7 @@ private:
|
|||||||
std::vector<address> addresses;
|
std::vector<address> addresses;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::unordered_map<std::string, dns_cache_entry> cache_t;
|
using cache_t = std::unordered_map<std::string, dns_cache_entry>;
|
||||||
cache_t m_cache;
|
cache_t m_cache;
|
||||||
io_service& m_ios;
|
io_service& m_ios;
|
||||||
|
|
||||||
|
@ -34,21 +34,17 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define TORRENT_RESOLVER_INTERFACE_HPP_INCLUDE
|
#define TORRENT_RESOLVER_INTERFACE_HPP_INCLUDE
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/error_code.hpp"
|
#include "libtorrent/error_code.hpp"
|
||||||
#include "libtorrent/address.hpp"
|
#include "libtorrent/address.hpp"
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
|
|
||||||
struct TORRENT_EXTRA_EXPORT resolver_interface
|
struct TORRENT_EXTRA_EXPORT resolver_interface
|
||||||
{
|
{
|
||||||
typedef boost::function<void(error_code const&, std::vector<address> const&)>
|
typedef std::function<void(error_code const&, std::vector<address> const&)>
|
||||||
callback_t;
|
callback_t;
|
||||||
|
|
||||||
enum flags_t
|
enum flags_t
|
||||||
|
@ -58,7 +58,7 @@ namespace libtorrent
|
|||||||
struct session_status;
|
struct session_status;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef boost::function<void(sha1_hash const&, std::vector<char>&
|
typedef std::function<void(sha1_hash const&, std::vector<char>&
|
||||||
, error_code&)> user_load_function_t;
|
, error_code&)> user_load_function_t;
|
||||||
|
|
||||||
struct TORRENT_EXPORT session_handle
|
struct TORRENT_EXPORT session_handle
|
||||||
@ -150,7 +150,7 @@ namespace libtorrent
|
|||||||
// Any torrent_status object whose ``handle`` member is not referring to
|
// Any torrent_status object whose ``handle`` member is not referring to
|
||||||
// a valid torrent are ignored.
|
// a valid torrent are ignored.
|
||||||
void get_torrent_status(std::vector<torrent_status>* ret
|
void get_torrent_status(std::vector<torrent_status>* ret
|
||||||
, boost::function<bool(torrent_status const&)> const& pred
|
, std::function<bool(torrent_status const&)> const& pred
|
||||||
, std::uint32_t flags = 0) const;
|
, std::uint32_t flags = 0) const;
|
||||||
void refresh_torrent_status(std::vector<torrent_status>* ret
|
void refresh_torrent_status(std::vector<torrent_status>* ret
|
||||||
, std::uint32_t flags = 0) const;
|
, std::uint32_t flags = 0) const;
|
||||||
@ -418,7 +418,7 @@ namespace libtorrent
|
|||||||
// the DHT works, it is natural to always do a lookup before storing and
|
// the DHT works, it is natural to always do a lookup before storing and
|
||||||
// calling the callback in between is convenient.
|
// calling the callback in between is convenient.
|
||||||
void dht_put_item(std::array<char, 32> key
|
void dht_put_item(std::array<char, 32> key
|
||||||
, boost::function<void(entry&, std::array<char,64>&
|
, std::function<void(entry&, std::array<char,64>&
|
||||||
, std::uint64_t&, std::string const&)> cb
|
, std::uint64_t&, std::string const&)> cb
|
||||||
, std::string salt = std::string());
|
, std::string salt = std::string());
|
||||||
|
|
||||||
@ -479,7 +479,7 @@ namespace libtorrent
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// .. _`libtorrent plugins`: libtorrent_plugins.html
|
// .. _`libtorrent plugins`: libtorrent_plugins.html
|
||||||
void add_extension(boost::function<boost::shared_ptr<torrent_plugin>(
|
void add_extension(std::function<boost::shared_ptr<torrent_plugin>(
|
||||||
torrent_handle const&, void*)> ext);
|
torrent_handle const&, void*)> ext);
|
||||||
void add_extension(boost::shared_ptr<plugin> ext);
|
void add_extension(boost::shared_ptr<plugin> ext);
|
||||||
|
|
||||||
@ -942,7 +942,7 @@ namespace libtorrent
|
|||||||
// It really should just notify the main application thread.
|
// It really should just notify the main application thread.
|
||||||
void pop_alerts(std::vector<alert*>* alerts);
|
void pop_alerts(std::vector<alert*>* alerts);
|
||||||
alert* wait_for_alert(time_duration max_wait);
|
alert* wait_for_alert(time_duration max_wait);
|
||||||
void set_alert_notify(boost::function<void()> const& fun);
|
void set_alert_notify(std::function<void()> const& fun);
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
TORRENT_DEPRECATED
|
TORRENT_DEPRECATED
|
||||||
|
@ -100,7 +100,7 @@ public:
|
|||||||
SSL* native_handle() { return m_sock.native_handle(); }
|
SSL* native_handle() { return m_sock.native_handle(); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef boost::function<void(error_code const&)> handler_type;
|
typedef std::function<void(error_code const&)> handler_type;
|
||||||
|
|
||||||
template <class Handler>
|
template <class Handler>
|
||||||
void async_connect(endpoint_type const& endpoint, Handler const& handler)
|
void async_connect(endpoint_type const& endpoint, Handler const& handler)
|
||||||
|
@ -300,7 +300,7 @@ namespace libtorrent
|
|||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
void add_extension(boost::shared_ptr<torrent_plugin>);
|
void add_extension(boost::shared_ptr<torrent_plugin>);
|
||||||
void remove_extension(boost::shared_ptr<torrent_plugin>);
|
void remove_extension(boost::shared_ptr<torrent_plugin>);
|
||||||
void add_extension_fun(boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
void add_extension_fun(std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
||||||
, void* userdata);
|
, void* userdata);
|
||||||
void notify_extension_add_peer(tcp::endpoint const& ip, int src, int flags);
|
void notify_extension_add_peer(tcp::endpoint const& ip, int src, int flags);
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,10 +37,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/weak_ptr.hpp>
|
#include <boost/weak_ptr.hpp>
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
@ -508,7 +508,7 @@ namespace libtorrent
|
|||||||
// pointer. The function is expected to return a shared pointer to
|
// pointer. The function is expected to return a shared pointer to
|
||||||
// a torrent_plugin instance.
|
// a torrent_plugin instance.
|
||||||
void add_extension(
|
void add_extension(
|
||||||
boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
||||||
, void* userdata = 0);
|
, void* userdata = 0);
|
||||||
|
|
||||||
// ``set_metadata`` expects the *info* section of metadata. i.e. The
|
// ``set_metadata`` expects the *info* section of metadata. i.e. The
|
||||||
|
@ -41,6 +41,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
@ -48,7 +49,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include <boost/enable_shared_from_this.hpp>
|
#include <boost/enable_shared_from_this.hpp>
|
||||||
#include <boost/weak_ptr.hpp>
|
#include <boost/weak_ptr.hpp>
|
||||||
#include <boost/unordered_map.hpp>
|
#include <boost/unordered_map.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#ifdef TORRENT_USE_OPENSSL
|
||||||
#include <boost/asio/ssl/context.hpp>
|
#include <boost/asio/ssl/context.hpp>
|
||||||
@ -341,10 +341,10 @@ namespace libtorrent
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
typedef boost::function<void(udp::endpoint const&
|
typedef std::function<void(udp::endpoint const&
|
||||||
, span<char const>
|
, span<char const>
|
||||||
, error_code&, int)> send_fun_t;
|
, error_code&, int)> send_fun_t;
|
||||||
typedef boost::function<void(char const*, int
|
typedef std::function<void(char const*, int
|
||||||
, span<char const>
|
, span<char const>
|
||||||
, error_code&, int)> send_fun_hostname_t;
|
, error_code&, int)> send_fun_hostname_t;
|
||||||
|
|
||||||
|
@ -42,11 +42,12 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/resolver.hpp"
|
#include "libtorrent/resolver.hpp"
|
||||||
#include "libtorrent/debug.hpp"
|
#include "libtorrent/debug.hpp"
|
||||||
|
|
||||||
#include <boost/function/function1.hpp>
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
#include <boost/function/function5.hpp>
|
|
||||||
#include <boost/noncopyable.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/enable_shared_from_this.hpp>
|
#include <boost/enable_shared_from_this.hpp>
|
||||||
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
@ -101,8 +102,8 @@ namespace libtorrent
|
|||||||
// int: protocol (UDP, TCP)
|
// int: protocol (UDP, TCP)
|
||||||
// std::string: error message
|
// std::string: error message
|
||||||
// an empty string as error means success
|
// an empty string as error means success
|
||||||
typedef boost::function<void(int, address, int, int, error_code const&)> portmap_callback_t;
|
typedef std::function<void(int, address, int, int, error_code const&)> portmap_callback_t;
|
||||||
typedef boost::function<void(char const*)> log_callback_t;
|
typedef std::function<void(char const*)> log_callback_t;
|
||||||
|
|
||||||
struct parse_state
|
struct parse_state
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define TORRENT_UTP_SOCKET_MANAGER_HPP_INCLUDED
|
#define TORRENT_UTP_SOCKET_MANAGER_HPP_INCLUDED
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "libtorrent/socket_type.hpp"
|
#include "libtorrent/socket_type.hpp"
|
||||||
#include "libtorrent/session_status.hpp"
|
#include "libtorrent/session_status.hpp"
|
||||||
@ -41,12 +42,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/aux_/session_settings.hpp"
|
#include "libtorrent/aux_/session_settings.hpp"
|
||||||
#include "libtorrent/span.hpp"
|
#include "libtorrent/span.hpp"
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
class utp_stream;
|
class utp_stream;
|
||||||
@ -55,11 +50,11 @@ namespace libtorrent
|
|||||||
|
|
||||||
struct utp_socket_manager final
|
struct utp_socket_manager final
|
||||||
{
|
{
|
||||||
typedef boost::function<void(udp::endpoint const&
|
typedef std::function<void(udp::endpoint const&
|
||||||
, span<char const>
|
, span<char const>
|
||||||
, error_code&, int)> send_fun_t;
|
, error_code&, int)> send_fun_t;
|
||||||
|
|
||||||
typedef boost::function<void(boost::shared_ptr<socket_type> const&)>
|
typedef std::function<void(boost::shared_ptr<socket_type> const&)>
|
||||||
incoming_utp_callback_t;
|
incoming_utp_callback_t;
|
||||||
|
|
||||||
utp_socket_manager(send_fun_t const& send_fun
|
utp_socket_manager(send_fun_t const& send_fun
|
||||||
|
@ -40,17 +40,13 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/error_code.hpp"
|
#include "libtorrent/error_code.hpp"
|
||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <boost/function/function1.hpp>
|
|
||||||
#include <boost/function/function2.hpp>
|
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
#ifndef BOOST_NO_EXCEPTIONS
|
||||||
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
#include <boost/system/system_error.hpp>
|
#include <boost/system/system_error.hpp>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
@ -373,7 +369,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void do_async_connect(endpoint_type const& ep
|
void do_async_connect(endpoint_type const& ep
|
||||||
, boost::function<void(error_code const&)> const& handler);
|
, std::function<void(error_code const&)> const& handler);
|
||||||
|
|
||||||
template <class Protocol>
|
template <class Protocol>
|
||||||
void open(Protocol const&, error_code&)
|
void open(Protocol const&, error_code&)
|
||||||
@ -493,9 +489,9 @@ private:
|
|||||||
|
|
||||||
void cancel_handlers(error_code const&);
|
void cancel_handlers(error_code const&);
|
||||||
|
|
||||||
boost::function1<void, error_code const&> m_connect_handler;
|
std::function<void(error_code const&)> m_connect_handler;
|
||||||
boost::function2<void, error_code const&, std::size_t> m_read_handler;
|
std::function<void(error_code const&, std::size_t)> m_read_handler;
|
||||||
boost::function2<void, error_code const&, std::size_t> m_write_handler;
|
std::function<void(error_code const&, std::size_t)> m_write_handler;
|
||||||
|
|
||||||
io_service& m_io_service;
|
io_service& m_io_service;
|
||||||
utp_socket_impl* m_impl;
|
utp_socket_impl* m_impl;
|
||||||
|
@ -33,11 +33,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#ifndef TORRENT_XML_PARSE_HPP
|
#ifndef TORRENT_XML_PARSE_HPP
|
||||||
#define TORRENT_XML_PARSE_HPP
|
#define TORRENT_XML_PARSE_HPP
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include <functional>
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
|
||||||
|
|
||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
#include "libtorrent/assert.hpp"
|
#include "libtorrent/assert.hpp"
|
||||||
@ -68,7 +64,7 @@ namespace libtorrent
|
|||||||
// name_len and val_len respectively
|
// name_len and val_len respectively
|
||||||
// TODO: 3 use span<> for the callback
|
// TODO: 3 use span<> for the callback
|
||||||
TORRENT_EXTRA_EXPORT void xml_parse(span<char const> input
|
TORRENT_EXTRA_EXPORT void xml_parse(span<char const> input
|
||||||
, boost::function<void(int,char const*,int,char const*,int)> callback);
|
, std::function<void(int,char const*,int,char const*,int)> callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@ void setup_swarm(int num_nodes
|
|||||||
std::snprintf(ep, sizeof(ep), "2000::%X%X", (i + 1) >> 8, (i + 1) & 0xff);
|
std::snprintf(ep, sizeof(ep), "2000::%X%X", (i + 1) >> 8, (i + 1) & 0xff);
|
||||||
ips.push_back(addr(ep));
|
ips.push_back(addr(ep));
|
||||||
io_service.push_back(boost::make_shared<sim::asio::io_service>(
|
io_service.push_back(boost::make_shared<sim::asio::io_service>(
|
||||||
boost::ref(sim), ips));
|
std::ref(sim), ips));
|
||||||
|
|
||||||
lt::settings_pack pack = default_settings;
|
lt::settings_pack pack = default_settings;
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ void setup_swarm(int num_nodes
|
|||||||
|
|
||||||
boost::shared_ptr<lt::session> ses =
|
boost::shared_ptr<lt::session> ses =
|
||||||
boost::make_shared<lt::session>(pack
|
boost::make_shared<lt::session>(pack
|
||||||
, boost::ref(*io_service.back()));
|
, std::ref(*io_service.back()));
|
||||||
init_session(*ses);
|
init_session(*ses);
|
||||||
nodes.push_back(ses);
|
nodes.push_back(ses);
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ TORRENT_TEST(dht_rate_limit)
|
|||||||
entry state;
|
entry state;
|
||||||
std::unique_ptr<lt::dht::dht_storage_interface> dht_storage(dht::dht_default_storage_constructor(dhtsett));
|
std::unique_ptr<lt::dht::dht_storage_interface> dht_storage(dht::dht_default_storage_constructor(dhtsett));
|
||||||
boost::shared_ptr<lt::dht::dht_tracker> dht = boost::make_shared<lt::dht::dht_tracker>(
|
boost::shared_ptr<lt::dht::dht_tracker> dht = boost::make_shared<lt::dht::dht_tracker>(
|
||||||
&o, boost::ref(dht_ios), std::bind(&udp_socket::send, &sock, _1, _2, _3, _4)
|
&o, std::ref(dht_ios), std::bind(&udp_socket::send, &sock, _1, _2, _3, _4)
|
||||||
, dhtsett, cnt, *dht_storage, state);
|
, dhtsett, cnt, *dht_storage, state);
|
||||||
|
|
||||||
bool stop = false;
|
bool stop = false;
|
||||||
|
@ -71,7 +71,7 @@ boost::shared_ptr<torrent_info> create_torrent(file_storage& fs)
|
|||||||
bencode(out, tor);
|
bencode(out, tor);
|
||||||
error_code ec;
|
error_code ec;
|
||||||
return boost::make_shared<torrent_info>(
|
return boost::make_shared<torrent_info>(
|
||||||
&tmp[0], tmp.size(), boost::ref(ec), 0);
|
&tmp[0], tmp.size(), std::ref(ec), 0);
|
||||||
}
|
}
|
||||||
// this is the general template for these tests. create the session with custom
|
// this is the general template for these tests. create the session with custom
|
||||||
// settings (Settings), set up the test, by adding torrents with certain
|
// settings (Settings), set up the test, by adding torrents with certain
|
||||||
|
@ -93,7 +93,7 @@ namespace libtorrent
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void alert_manager::set_notify_function(boost::function<void()> const& fun)
|
void alert_manager::set_notify_function(std::function<void()> const& fun)
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> lock(m_mutex);
|
std::unique_lock<std::mutex> lock(m_mutex);
|
||||||
m_notify = fun;
|
m_notify = fun;
|
||||||
|
@ -349,7 +349,7 @@ cached_piece_entry::~cached_piece_entry()
|
|||||||
}
|
}
|
||||||
|
|
||||||
block_cache::block_cache(int block_size, io_service& ios
|
block_cache::block_cache(int block_size, io_service& ios
|
||||||
, boost::function<void()> const& trigger_trim)
|
, std::function<void()> const& trigger_trim)
|
||||||
: disk_buffer_pool(block_size, ios, trigger_trim)
|
: disk_buffer_pool(block_size, ios, trigger_trim)
|
||||||
, m_last_cache_op(cache_miss)
|
, m_last_cache_op(cache_miss)
|
||||||
, m_ghost_size(8)
|
, m_ghost_size(8)
|
||||||
|
@ -117,7 +117,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void add_files_impl(file_storage& fs, std::string const& p
|
void add_files_impl(file_storage& fs, std::string const& p
|
||||||
, std::string const& l, boost::function<bool(std::string)> pred, std::uint32_t flags)
|
, std::string const& l, std::function<bool(std::string)> pred, std::uint32_t flags)
|
||||||
{
|
{
|
||||||
std::string f = combine_path(p, l);
|
std::string f = combine_path(p, l);
|
||||||
if (!pred(f)) return;
|
if (!pred(f)) return;
|
||||||
@ -167,7 +167,7 @@ namespace libtorrent
|
|||||||
void on_hash(disk_io_job const* j, create_torrent* t
|
void on_hash(disk_io_job const* j, create_torrent* t
|
||||||
, boost::shared_ptr<piece_manager> storage, disk_io_thread* iothread
|
, boost::shared_ptr<piece_manager> storage, disk_io_thread* iothread
|
||||||
, int* piece_counter, int* completed_piece
|
, int* piece_counter, int* completed_piece
|
||||||
, boost::function<void(int)> const* f, error_code* ec)
|
, std::function<void(int)> const* f, error_code* ec)
|
||||||
{
|
{
|
||||||
if (j->ret != 0)
|
if (j->ret != 0)
|
||||||
{
|
{
|
||||||
@ -200,7 +200,7 @@ namespace libtorrent
|
|||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
|
|
||||||
void add_files(file_storage& fs, std::wstring const& wfile
|
void add_files(file_storage& fs, std::wstring const& wfile
|
||||||
, boost::function<bool(std::string)> p, std::uint32_t flags)
|
, std::function<bool(std::string)> p, std::uint32_t flags)
|
||||||
{
|
{
|
||||||
std::string utf8;
|
std::string utf8;
|
||||||
wchar_utf8(wfile, utf8);
|
wchar_utf8(wfile, utf8);
|
||||||
@ -218,7 +218,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_piece_hashes(create_torrent& t, std::wstring const& p
|
void set_piece_hashes(create_torrent& t, std::wstring const& p
|
||||||
, boost::function<void(int)> f, error_code& ec)
|
, std::function<void(int)> f, error_code& ec)
|
||||||
{
|
{
|
||||||
std::string utf8;
|
std::string utf8;
|
||||||
wchar_utf8(p, utf8);
|
wchar_utf8(p, utf8);
|
||||||
@ -226,7 +226,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_piece_hashes_deprecated(create_torrent& t, std::wstring const& p
|
void set_piece_hashes_deprecated(create_torrent& t, std::wstring const& p
|
||||||
, boost::function<void(int)> f, error_code& ec)
|
, std::function<void(int)> f, error_code& ec)
|
||||||
{
|
{
|
||||||
std::string utf8;
|
std::string utf8;
|
||||||
wchar_utf8(p, utf8);
|
wchar_utf8(p, utf8);
|
||||||
@ -236,7 +236,7 @@ namespace libtorrent
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void add_files(file_storage& fs, std::string const& file
|
void add_files(file_storage& fs, std::string const& file
|
||||||
, boost::function<bool(std::string)> p, std::uint32_t flags)
|
, std::function<bool(std::string)> p, std::uint32_t flags)
|
||||||
{
|
{
|
||||||
add_files_impl(fs, parent_path(complete(file)), filename(file), p, flags);
|
add_files_impl(fs, parent_path(complete(file)), filename(file), p, flags);
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void set_piece_hashes(create_torrent& t, std::string const& p
|
void set_piece_hashes(create_torrent& t, std::string const& p
|
||||||
, boost::function<void(int)> const& f, error_code& ec)
|
, std::function<void(int)> const& f, error_code& ec)
|
||||||
{
|
{
|
||||||
// optimized path
|
// optimized path
|
||||||
io_service ios;
|
io_service ios;
|
||||||
|
@ -79,7 +79,7 @@ namespace libtorrent
|
|||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
disk_buffer_pool::disk_buffer_pool(int block_size, io_service& ios
|
disk_buffer_pool::disk_buffer_pool(int block_size, io_service& ios
|
||||||
, boost::function<void()> const& trigger_trim)
|
, std::function<void()> const& trigger_trim)
|
||||||
: m_block_size(block_size)
|
: m_block_size(block_size)
|
||||||
, m_in_use(0)
|
, m_in_use(0)
|
||||||
, m_max_use(64)
|
, m_max_use(64)
|
||||||
|
@ -1479,7 +1479,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_read(piece_manager* storage, peer_request const& r
|
void disk_io_thread::async_read(piece_manager* storage, peer_request const& r
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester
|
, std::function<void(disk_io_job const*)> handler, void* requester
|
||||||
, int flags)
|
, int flags)
|
||||||
{
|
{
|
||||||
INVARIANT_CHECK;
|
INVARIANT_CHECK;
|
||||||
@ -1599,7 +1599,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
void disk_io_thread::async_write(piece_manager* storage, peer_request const& r
|
void disk_io_thread::async_write(piece_manager* storage, peer_request const& r
|
||||||
, disk_buffer_holder buffer
|
, disk_buffer_holder buffer
|
||||||
, boost::function<void(disk_io_job const*)> handler
|
, std::function<void(disk_io_job const*)> handler
|
||||||
, int flags)
|
, int flags)
|
||||||
{
|
{
|
||||||
INVARIANT_CHECK;
|
INVARIANT_CHECK;
|
||||||
@ -1709,7 +1709,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_hash(piece_manager* storage, int piece, int flags
|
void disk_io_thread::async_hash(piece_manager* storage, int piece, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler, void* requester)
|
, std::function<void(disk_io_job const*)> handler, void* requester)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1754,7 +1754,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_move_storage(piece_manager* storage, std::string const& p, int flags
|
void disk_io_thread::async_move_storage(piece_manager* storage, std::string const& p, int flags
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1772,7 +1772,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_release_files(piece_manager* storage
|
void disk_io_thread::async_release_files(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
disk_io_job* j = allocate_job(disk_io_job::release_files);
|
disk_io_job* j = allocate_job(disk_io_job::release_files);
|
||||||
j->storage = storage->shared_from_this();
|
j->storage = storage->shared_from_this();
|
||||||
@ -1783,7 +1783,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
void disk_io_thread::async_delete_files(piece_manager* storage
|
void disk_io_thread::async_delete_files(piece_manager* storage
|
||||||
, int const options
|
, int const options
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1836,7 +1836,7 @@ namespace libtorrent
|
|||||||
void disk_io_thread::async_check_files(piece_manager* storage
|
void disk_io_thread::async_check_files(piece_manager* storage
|
||||||
, add_torrent_params const* resume_data
|
, add_torrent_params const* resume_data
|
||||||
, std::vector<std::string>& links
|
, std::vector<std::string>& links
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1858,7 +1858,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_rename_file(piece_manager* storage, int index, std::string const& name
|
void disk_io_thread::async_rename_file(piece_manager* storage, int index, std::string const& name
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1875,7 +1875,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_stop_torrent(piece_manager* storage
|
void disk_io_thread::async_stop_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
// remove outstanding hash jobs belonging to this torrent
|
// remove outstanding hash jobs belonging to this torrent
|
||||||
std::unique_lock<std::mutex> l2(m_job_mutex);
|
std::unique_lock<std::mutex> l2(m_job_mutex);
|
||||||
@ -1911,7 +1911,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
void disk_io_thread::async_cache_piece(piece_manager* storage, int piece
|
void disk_io_thread::async_cache_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1928,7 +1928,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_finalize_file(piece_manager* storage, int file
|
void disk_io_thread::async_finalize_file(piece_manager* storage, int file
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1946,7 +1946,7 @@ namespace libtorrent
|
|||||||
#endif // TORRENT_NO_DEPRECATE
|
#endif // TORRENT_NO_DEPRECATE
|
||||||
|
|
||||||
void disk_io_thread::async_flush_piece(piece_manager* storage, int piece
|
void disk_io_thread::async_flush_piece(piece_manager* storage, int piece
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1972,7 +1972,7 @@ namespace libtorrent
|
|||||||
|
|
||||||
void disk_io_thread::async_set_file_priority(piece_manager* storage
|
void disk_io_thread::async_set_file_priority(piece_manager* storage
|
||||||
, std::vector<std::uint8_t> const& prios
|
, std::vector<std::uint8_t> const& prios
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
@ -1991,7 +1991,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_load_torrent(add_torrent_params* params
|
void disk_io_thread::async_load_torrent(add_torrent_params* params
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
disk_io_job* j = allocate_job(disk_io_job::load_torrent);
|
disk_io_job* j = allocate_job(disk_io_job::load_torrent);
|
||||||
j->requester = reinterpret_cast<char*>(params);
|
j->requester = reinterpret_cast<char*>(params);
|
||||||
@ -2001,7 +2001,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_tick_torrent(piece_manager* storage
|
void disk_io_thread::async_tick_torrent(piece_manager* storage
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
disk_io_job* j = allocate_job(disk_io_job::tick_storage);
|
disk_io_job* j = allocate_job(disk_io_job::tick_storage);
|
||||||
j->storage = storage->shared_from_this();
|
j->storage = storage->shared_from_this();
|
||||||
@ -2028,7 +2028,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void disk_io_thread::async_clear_piece(piece_manager* storage, int index
|
void disk_io_thread::async_clear_piece(piece_manager* storage, int index
|
||||||
, boost::function<void(disk_io_job const*)> handler)
|
, std::function<void(disk_io_job const*)> handler)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_ASSERTS
|
#if TORRENT_USE_ASSERTS
|
||||||
// the caller must increment the torrent refcount before
|
// the caller must increment the torrent refcount before
|
||||||
|
@ -32,18 +32,14 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
|
||||||
|
|
||||||
#include <boost/version.hpp>
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
|
||||||
|
|
||||||
#include "libtorrent/assert.hpp"
|
#include "libtorrent/assert.hpp"
|
||||||
#include "libtorrent/file_pool.hpp"
|
#include "libtorrent/file_pool.hpp"
|
||||||
#include "libtorrent/error_code.hpp"
|
#include "libtorrent/error_code.hpp"
|
||||||
#include "libtorrent/file_storage.hpp" // for file_entry
|
#include "libtorrent/file_storage.hpp" // for file_entry
|
||||||
#include "libtorrent/aux_/time.hpp"
|
#include "libtorrent/aux_/time.hpp"
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
file_pool::file_pool(int size)
|
file_pool::file_pool(int size)
|
||||||
@ -230,7 +226,8 @@ namespace libtorrent
|
|||||||
std::unique_lock<std::mutex> l(m_mutex);
|
std::unique_lock<std::mutex> l(m_mutex);
|
||||||
|
|
||||||
file_set::const_iterator start = m_files.lower_bound(std::make_pair(st, 0));
|
file_set::const_iterator start = m_files.lower_bound(std::make_pair(st, 0));
|
||||||
file_set::const_iterator end = m_files.upper_bound(std::make_pair(st, INT_MAX));
|
file_set::const_iterator end = m_files.upper_bound(std::make_pair(st
|
||||||
|
, std::numeric_limits<int>::max()));
|
||||||
|
|
||||||
for (file_set::const_iterator i = start; i != end; ++i)
|
for (file_set::const_iterator i = start; i != end; ++i)
|
||||||
{
|
{
|
||||||
|
@ -97,7 +97,7 @@ http_connection::http_connection(io_service& ios
|
|||||||
, m_abort(false)
|
, m_abort(false)
|
||||||
, m_connecting(false)
|
, m_connecting(false)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(!m_handler.empty());
|
TORRENT_ASSERT(m_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
http_connection::~http_connection()
|
http_connection::~http_connection()
|
||||||
@ -470,7 +470,7 @@ void http_connection::close(bool force)
|
|||||||
|
|
||||||
m_hostname.clear();
|
m_hostname.clear();
|
||||||
m_port = 0;
|
m_port = 0;
|
||||||
m_handler.clear();
|
m_handler = nullptr;
|
||||||
m_abort = true;
|
m_abort = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,9 +331,9 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dht_tracker::get_peers(sha1_hash const& ih
|
void dht_tracker::get_peers(sha1_hash const& ih
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f)
|
, std::function<void(std::vector<tcp::endpoint> const&)> f)
|
||||||
{
|
{
|
||||||
boost::function<void(std::vector<std::pair<node_entry, std::string> > const&)> empty;
|
std::function<void(std::vector<std::pair<node_entry, std::string> > const&)> empty;
|
||||||
m_dht.get_peers(ih, f, empty, false);
|
m_dht.get_peers(ih, f, empty, false);
|
||||||
#if TORRENT_USE_IPV6
|
#if TORRENT_USE_IPV6
|
||||||
m_dht6.get_peers(ih, f, empty, false);
|
m_dht6.get_peers(ih, f, empty, false);
|
||||||
@ -341,7 +341,7 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dht_tracker::announce(sha1_hash const& ih, int listen_port, int flags
|
void dht_tracker::announce(sha1_hash const& ih, int listen_port, int flags
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f)
|
, std::function<void(std::vector<tcp::endpoint> const&)> f)
|
||||||
{
|
{
|
||||||
m_dht.announce(ih, listen_port, flags, f);
|
m_dht.announce(ih, listen_port, flags, f);
|
||||||
#if TORRENT_USE_IPV6
|
#if TORRENT_USE_IPV6
|
||||||
@ -364,7 +364,7 @@ namespace libtorrent { namespace dht
|
|||||||
// these functions provide a slightly higher level
|
// these functions provide a slightly higher level
|
||||||
// interface to the get/put functionality in the DHT
|
// interface to the get/put functionality in the DHT
|
||||||
void get_immutable_item_callback(item const& it, boost::shared_ptr<get_immutable_item_ctx> ctx
|
void get_immutable_item_callback(item const& it, boost::shared_ptr<get_immutable_item_ctx> ctx
|
||||||
, boost::function<void(item const&)> f)
|
, std::function<void(item const&)> f)
|
||||||
{
|
{
|
||||||
// the reason to wrap here is to control the return value
|
// the reason to wrap here is to control the return value
|
||||||
// since it controls whether we re-put the content
|
// since it controls whether we re-put the content
|
||||||
@ -384,9 +384,9 @@ namespace libtorrent { namespace dht
|
|||||||
item it;
|
item it;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool get_mutable_item_callback(item const& it, bool authoritative
|
void get_mutable_item_callback(item const& it, bool authoritative
|
||||||
, boost::shared_ptr<get_mutable_item_ctx> ctx
|
, boost::shared_ptr<get_mutable_item_ctx> ctx
|
||||||
, boost::function<void(item const&, bool)> f)
|
, std::function<void(item const&, bool)> f)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(it.is_mutable());
|
TORRENT_ASSERT(it.is_mutable());
|
||||||
if (authoritative) --ctx->active_traversals;
|
if (authoritative) --ctx->active_traversals;
|
||||||
@ -398,8 +398,6 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
else if (authoritative)
|
else if (authoritative)
|
||||||
f(it, authoritative);
|
f(it, authoritative);
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct put_item_ctx
|
struct put_item_ctx
|
||||||
@ -414,7 +412,7 @@ namespace libtorrent { namespace dht
|
|||||||
};
|
};
|
||||||
|
|
||||||
void put_immutable_item_callback(int responses, boost::shared_ptr<put_item_ctx> ctx
|
void put_immutable_item_callback(int responses, boost::shared_ptr<put_item_ctx> ctx
|
||||||
, boost::function<void(int)> f)
|
, std::function<void(int)> f)
|
||||||
{
|
{
|
||||||
ctx->response_count += responses;
|
ctx->response_count += responses;
|
||||||
if (--ctx->active_traversals == 0)
|
if (--ctx->active_traversals == 0)
|
||||||
@ -422,7 +420,7 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void put_mutable_item_callback(item const& it, int responses, boost::shared_ptr<put_item_ctx> ctx
|
void put_mutable_item_callback(item const& it, int responses, boost::shared_ptr<put_item_ctx> ctx
|
||||||
, boost::function<void(item const&, int)> cb)
|
, std::function<void(item const&, int)> cb)
|
||||||
{
|
{
|
||||||
ctx->response_count += responses;
|
ctx->response_count += responses;
|
||||||
if (--ctx->active_traversals == 0)
|
if (--ctx->active_traversals == 0)
|
||||||
@ -432,7 +430,7 @@ namespace libtorrent { namespace dht
|
|||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
void dht_tracker::get_item(sha1_hash const& target
|
void dht_tracker::get_item(sha1_hash const& target
|
||||||
, boost::function<void(item const&)> cb)
|
, std::function<void(item const&)> cb)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<get_immutable_item_ctx>
|
boost::shared_ptr<get_immutable_item_ctx>
|
||||||
ctx = boost::make_shared<get_immutable_item_ctx>((TORRENT_USE_IPV6) ? 2 : 1);
|
ctx = boost::make_shared<get_immutable_item_ctx>((TORRENT_USE_IPV6) ? 2 : 1);
|
||||||
@ -445,7 +443,7 @@ namespace libtorrent { namespace dht
|
|||||||
// key is a 32-byte binary string, the public key to look up.
|
// key is a 32-byte binary string, the public key to look up.
|
||||||
// the salt is optional
|
// the salt is optional
|
||||||
void dht_tracker::get_item(public_key const& key
|
void dht_tracker::get_item(public_key const& key
|
||||||
, boost::function<void(item const&, bool)> cb
|
, std::function<void(item const&, bool)> cb
|
||||||
, std::string salt)
|
, std::string salt)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<get_mutable_item_ctx>
|
boost::shared_ptr<get_mutable_item_ctx>
|
||||||
@ -457,7 +455,7 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dht_tracker::put_item(entry const& data
|
void dht_tracker::put_item(entry const& data
|
||||||
, boost::function<void(int)> cb)
|
, std::function<void(int)> cb)
|
||||||
{
|
{
|
||||||
std::string flat_data;
|
std::string flat_data;
|
||||||
bencode(std::back_inserter(flat_data), data);
|
bencode(std::back_inserter(flat_data), data);
|
||||||
@ -474,8 +472,8 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dht_tracker::put_item(public_key const& key
|
void dht_tracker::put_item(public_key const& key
|
||||||
, boost::function<void(item const&, int)> cb
|
, std::function<void(item const&, int)> cb
|
||||||
, boost::function<void(item&)> data_cb, std::string salt)
|
, std::function<void(item&)> data_cb, std::string salt)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<put_item_ctx>
|
boost::shared_ptr<put_item_ctx>
|
||||||
ctx = boost::make_shared<put_item_ctx>((TORRENT_USE_IPV6) ? 2 : 1);
|
ctx = boost::make_shared<put_item_ctx>((TORRENT_USE_IPV6) ? 2 : 1);
|
||||||
@ -489,7 +487,7 @@ namespace libtorrent { namespace dht
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dht_tracker::direct_request(udp::endpoint ep, entry& e
|
void dht_tracker::direct_request(udp::endpoint ep, entry& e
|
||||||
, boost::function<void(msg const&)> f)
|
, std::function<void(msg const&)> f)
|
||||||
{
|
{
|
||||||
#if TORRENT_USE_IPV6
|
#if TORRENT_USE_IPV6
|
||||||
if (ep.protocol() == udp::v6())
|
if (ep.protocol() == udp::v6())
|
||||||
|
@ -278,8 +278,8 @@ void obfuscated_get_peers::done()
|
|||||||
// don't call these when the obfuscated_get_peers
|
// don't call these when the obfuscated_get_peers
|
||||||
// is done, we're passing them on to be called when
|
// is done, we're passing them on to be called when
|
||||||
// ta completes.
|
// ta completes.
|
||||||
m_data_callback.clear();
|
m_data_callback = nullptr;
|
||||||
m_nodes_callback.clear();
|
m_nodes_callback = nullptr;
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
get_node().observer()->log(dht_logger::traversal, "[%p] obfuscated get_peers "
|
get_node().observer()->log(dht_logger::traversal, "[%p] obfuscated get_peers "
|
||||||
|
@ -424,8 +424,8 @@ void node::add_node(udp::endpoint node)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::get_peers(sha1_hash const& info_hash
|
void node::get_peers(sha1_hash const& info_hash
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> dcallback
|
, std::function<void(std::vector<tcp::endpoint> const&)> dcallback
|
||||||
, boost::function<void(std::vector<std::pair<node_entry, std::string> > const&)> ncallback
|
, std::function<void(std::vector<std::pair<node_entry, std::string> > const&)> ncallback
|
||||||
, bool noseeds)
|
, bool noseeds)
|
||||||
{
|
{
|
||||||
// search for nodes with ids close to id or with peers
|
// search for nodes with ids close to id or with peers
|
||||||
@ -445,7 +445,7 @@ void node::get_peers(sha1_hash const& info_hash
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::announce(sha1_hash const& info_hash, int listen_port, int flags
|
void node::announce(sha1_hash const& info_hash, int listen_port, int flags
|
||||||
, boost::function<void(std::vector<tcp::endpoint> const&)> f)
|
, std::function<void(std::vector<tcp::endpoint> const&)> f)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (m_observer)
|
if (m_observer)
|
||||||
@ -463,7 +463,7 @@ void node::announce(sha1_hash const& info_hash, int listen_port, int flags
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::direct_request(udp::endpoint ep, entry& e
|
void node::direct_request(udp::endpoint ep, entry& e
|
||||||
, boost::function<void(msg const&)> f)
|
, std::function<void(msg const&)> f)
|
||||||
{
|
{
|
||||||
// not really a traversal
|
// not really a traversal
|
||||||
boost::intrusive_ptr<direct_traversal> algo(
|
boost::intrusive_ptr<direct_traversal> algo(
|
||||||
@ -479,7 +479,7 @@ void node::direct_request(udp::endpoint ep, entry& e
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::get_item(sha1_hash const& target
|
void node::get_item(sha1_hash const& target
|
||||||
, boost::function<void(item const&)> f)
|
, std::function<void(item const&)> f)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (m_observer)
|
if (m_observer)
|
||||||
@ -497,7 +497,7 @@ void node::get_item(sha1_hash const& target
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::get_item(public_key const& pk, std::string const& salt
|
void node::get_item(public_key const& pk, std::string const& salt
|
||||||
, boost::function<void(item const&, bool)> f)
|
, std::function<void(item const&, bool)> f)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (m_observer)
|
if (m_observer)
|
||||||
@ -524,7 +524,7 @@ void put(std::vector<std::pair<node_entry, std::string> > const& nodes
|
|||||||
|
|
||||||
void put_data_cb(item i, bool auth
|
void put_data_cb(item i, bool auth
|
||||||
, boost::intrusive_ptr<put_data> ta
|
, boost::intrusive_ptr<put_data> ta
|
||||||
, boost::function<void(item&)> f)
|
, std::function<void(item&)> f)
|
||||||
{
|
{
|
||||||
// call data_callback only when we got authoritative data.
|
// call data_callback only when we got authoritative data.
|
||||||
if (auth)
|
if (auth)
|
||||||
@ -536,7 +536,7 @@ void put_data_cb(item i, bool auth
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
void node::put_item(sha1_hash const& target, entry const& data, boost::function<void(int)> f)
|
void node::put_item(sha1_hash const& target, entry const& data, std::function<void(int)> f)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (m_observer)
|
if (m_observer)
|
||||||
@ -561,8 +561,8 @@ void node::put_item(sha1_hash const& target, entry const& data, boost::function<
|
|||||||
}
|
}
|
||||||
|
|
||||||
void node::put_item(public_key const& pk, std::string const& salt
|
void node::put_item(public_key const& pk, std::string const& salt
|
||||||
, boost::function<void(item const&, int)> f
|
, std::function<void(item const&, int)> f
|
||||||
, boost::function<void(item&)> data_cb)
|
, std::function<void(item&)> data_cb)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (m_observer)
|
if (m_observer)
|
||||||
|
@ -307,7 +307,7 @@ void lsd::close()
|
|||||||
#if TORRENT_USE_IPV6
|
#if TORRENT_USE_IPV6
|
||||||
m_disabled6 = true;
|
m_disabled6 = true;
|
||||||
#endif
|
#endif
|
||||||
m_callback.clear();
|
m_callback = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // libtorrent namespace
|
} // libtorrent namespace
|
||||||
|
@ -300,7 +300,7 @@ namespace libtorrent
|
|||||||
ios = m_io_service.get();
|
ios = m_io_service.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_impl = boost::make_shared<session_impl>(boost::ref(*ios));
|
m_impl = boost::make_shared<session_impl>(std::ref(*ios));
|
||||||
*static_cast<session_handle*>(this) = session_handle(m_impl.get());
|
*static_cast<session_handle*>(this) = session_handle(m_impl.get());
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
|
@ -106,7 +106,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void session_handle::get_torrent_status(std::vector<torrent_status>* ret
|
void session_handle::get_torrent_status(std::vector<torrent_status>* ret
|
||||||
, boost::function<bool(torrent_status const&)> const& pred
|
, std::function<bool(torrent_status const&)> const& pred
|
||||||
, std::uint32_t flags) const
|
, std::uint32_t flags) const
|
||||||
{
|
{
|
||||||
auto predr = std::ref(pred);
|
auto predr = std::ref(pred);
|
||||||
@ -536,7 +536,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void session_handle::dht_put_item(std::array<char, 32> key
|
void session_handle::dht_put_item(std::array<char, 32> key
|
||||||
, boost::function<void(entry&, std::array<char,64>&
|
, std::function<void(entry&, std::array<char,64>&
|
||||||
, std::uint64_t&, std::string const&)> cb
|
, std::uint64_t&, std::string const&)> cb
|
||||||
, std::string salt)
|
, std::string salt)
|
||||||
{
|
{
|
||||||
@ -601,7 +601,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
#endif // TORRENT_NO_DEPRECATE
|
||||||
|
|
||||||
void session_handle::add_extension(boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> ext)
|
void session_handle::add_extension(std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> ext)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
async_call(&session_impl::add_extension, ext);
|
async_call(&session_impl::add_extension, ext);
|
||||||
@ -1020,7 +1020,7 @@ namespace libtorrent
|
|||||||
return m_impl->wait_for_alert(max_wait);
|
return m_impl->wait_for_alert(max_wait);
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_handle::set_alert_notify(boost::function<void()> const& fun)
|
void session_handle::set_alert_notify(std::function<void()> const& fun)
|
||||||
{
|
{
|
||||||
m_impl->alerts().set_notify_function(fun);
|
m_impl->alerts().set_notify_function(fun);
|
||||||
}
|
}
|
||||||
|
@ -774,7 +774,7 @@ namespace aux {
|
|||||||
void session_impl::add_extension(ext_function_t ext)
|
void session_impl::add_extension(ext_function_t ext)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(is_single_thread());
|
TORRENT_ASSERT(is_single_thread());
|
||||||
TORRENT_ASSERT_VAL(ext, ext);
|
TORRENT_ASSERT(ext);
|
||||||
|
|
||||||
add_ses_extension(boost::make_shared<session_plugin_wrapper>(
|
add_ses_extension(boost::make_shared<session_plugin_wrapper>(
|
||||||
session_plugin_wrapper(ext)));
|
session_plugin_wrapper(ext)));
|
||||||
@ -1536,7 +1536,7 @@ namespace aux {
|
|||||||
// separate function. At least most of it
|
// separate function. At least most of it
|
||||||
if (!m_settings.get_bool(settings_pack::force_proxy))
|
if (!m_settings.get_bool(settings_pack::force_proxy))
|
||||||
{
|
{
|
||||||
ret.sock = boost::make_shared<tcp::acceptor>(boost::ref(m_io_service));
|
ret.sock = boost::make_shared<tcp::acceptor>(std::ref(m_io_service));
|
||||||
ret.sock->open(bind_ep.protocol(), ec);
|
ret.sock->open(bind_ep.protocol(), ec);
|
||||||
last_op = listen_failed_alert::open;
|
last_op = listen_failed_alert::open;
|
||||||
if (ec)
|
if (ec)
|
||||||
@ -1719,7 +1719,7 @@ namespace aux {
|
|||||||
}
|
}
|
||||||
} // force-proxy mode
|
} // force-proxy mode
|
||||||
|
|
||||||
ret.udp_sock = boost::make_shared<udp_socket>(boost::ref(m_io_service));
|
ret.udp_sock = boost::make_shared<udp_socket>(std::ref(m_io_service));
|
||||||
#if TORRENT_HAS_BINDTODEVICE
|
#if TORRENT_HAS_BINDTODEVICE
|
||||||
if (!device.empty())
|
if (!device.empty())
|
||||||
{
|
{
|
||||||
@ -2015,7 +2015,7 @@ namespace aux {
|
|||||||
|
|
||||||
if (m_socks_listen_socket) return;
|
if (m_socks_listen_socket) return;
|
||||||
|
|
||||||
m_socks_listen_socket = boost::make_shared<socket_type>(boost::ref(m_io_service));
|
m_socks_listen_socket = boost::make_shared<socket_type>(std::ref(m_io_service));
|
||||||
bool const ret = instantiate_connection(m_io_service, proxy()
|
bool const ret = instantiate_connection(m_io_service, proxy()
|
||||||
, *m_socks_listen_socket, nullptr, nullptr, false, false);
|
, *m_socks_listen_socket, nullptr, nullptr, false, false);
|
||||||
TORRENT_ASSERT_VAL(ret, ret);
|
TORRENT_ASSERT_VAL(ret, ret);
|
||||||
@ -4457,7 +4457,7 @@ namespace aux {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void session_impl::get_torrent_status(std::vector<torrent_status>* ret
|
void session_impl::get_torrent_status(std::vector<torrent_status>* ret
|
||||||
, boost::function<bool(torrent_status const&)> const& pred
|
, std::function<bool(torrent_status const&)> const& pred
|
||||||
, std::uint32_t flags) const
|
, std::uint32_t flags) const
|
||||||
{
|
{
|
||||||
for (torrent_map::const_iterator i
|
for (torrent_map::const_iterator i
|
||||||
@ -4783,7 +4783,7 @@ namespace aux {
|
|||||||
if (string_begins_no_case("file://", params.url.c_str()) && !params.ti)
|
if (string_begins_no_case("file://", params.url.c_str()) && !params.ti)
|
||||||
{
|
{
|
||||||
std::string const filename = resolve_file_url(params.url);
|
std::string const filename = resolve_file_url(params.url);
|
||||||
boost::shared_ptr<torrent_info> t = boost::make_shared<torrent_info>(filename, boost::ref(ec), 0);
|
boost::shared_ptr<torrent_info> t = boost::make_shared<torrent_info>(filename, std::ref(ec), 0);
|
||||||
if (ec) return std::make_pair(ptr_t(), false);
|
if (ec) return std::make_pair(ptr_t(), false);
|
||||||
params.url.clear();
|
params.url.clear();
|
||||||
params.ti = t;
|
params.ti = t;
|
||||||
@ -4879,7 +4879,7 @@ namespace aux {
|
|||||||
|
|
||||||
int queue_pos = ++m_max_queue_pos;
|
int queue_pos = ++m_max_queue_pos;
|
||||||
|
|
||||||
torrent_ptr = boost::make_shared<torrent>(boost::ref(*this)
|
torrent_ptr = boost::make_shared<torrent>(std::ref(*this)
|
||||||
, 16 * 1024, queue_pos, m_paused
|
, 16 * 1024, queue_pos, m_paused
|
||||||
, boost::cref(params), boost::cref(params.info_hash));
|
, boost::cref(params), boost::cref(params.info_hash));
|
||||||
|
|
||||||
@ -5555,10 +5555,10 @@ namespace aux {
|
|||||||
m_dht_storage = m_dht_storage_constructor(m_dht_settings);
|
m_dht_storage = m_dht_storage_constructor(m_dht_settings);
|
||||||
m_dht = boost::make_shared<dht::dht_tracker>(
|
m_dht = boost::make_shared<dht::dht_tracker>(
|
||||||
static_cast<dht_observer*>(this)
|
static_cast<dht_observer*>(this)
|
||||||
, boost::ref(m_io_service)
|
, std::ref(m_io_service)
|
||||||
, std::bind(&session_impl::send_udp_packet, this, false, _1, _2, _3, _4)
|
, std::bind(&session_impl::send_udp_packet, this, false, _1, _2, _3, _4)
|
||||||
, boost::cref(m_dht_settings)
|
, boost::cref(m_dht_settings)
|
||||||
, boost::ref(m_stats_counters)
|
, std::ref(m_stats_counters)
|
||||||
, *m_dht_storage
|
, *m_dht_storage
|
||||||
, startup_state);
|
, startup_state);
|
||||||
|
|
||||||
@ -5575,7 +5575,7 @@ namespace aux {
|
|||||||
}
|
}
|
||||||
m_dht_nodes.clear();
|
m_dht_nodes.clear();
|
||||||
|
|
||||||
m_dht->start(startup_state, std::bind(&on_bootstrap, boost::ref(m_alerts)));
|
m_dht->start(startup_state, std::bind(&on_bootstrap, std::ref(m_alerts)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::stop_dht()
|
void session_impl::stop_dht()
|
||||||
@ -5739,7 +5739,7 @@ namespace aux {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void put_mutable_callback(dht::item& i
|
void put_mutable_callback(dht::item& i
|
||||||
, boost::function<void(entry&, std::array<char, 64>&
|
, std::function<void(entry&, std::array<char, 64>&
|
||||||
, std::uint64_t&, std::string const&)> cb)
|
, std::uint64_t&, std::string const&)> cb)
|
||||||
{
|
{
|
||||||
entry value = i.value();
|
entry value = i.value();
|
||||||
@ -5770,37 +5770,37 @@ namespace aux {
|
|||||||
void session_impl::dht_put_immutable_item(entry const& data, sha1_hash target)
|
void session_impl::dht_put_immutable_item(entry const& data, sha1_hash target)
|
||||||
{
|
{
|
||||||
if (!m_dht) return;
|
if (!m_dht) return;
|
||||||
m_dht->put_item(data, std::bind(&on_dht_put_immutable_item, boost::ref(m_alerts)
|
m_dht->put_item(data, std::bind(&on_dht_put_immutable_item, std::ref(m_alerts)
|
||||||
, target, _1));
|
, target, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::dht_put_mutable_item(std::array<char, 32> key
|
void session_impl::dht_put_mutable_item(std::array<char, 32> key
|
||||||
, boost::function<void(entry&, std::array<char,64>&
|
, std::function<void(entry&, std::array<char,64>&
|
||||||
, std::uint64_t&, std::string const&)> cb
|
, std::uint64_t&, std::string const&)> cb
|
||||||
, std::string salt)
|
, std::string salt)
|
||||||
{
|
{
|
||||||
if (!m_dht) return;
|
if (!m_dht) return;
|
||||||
m_dht->put_item(dht::public_key(key.data())
|
m_dht->put_item(dht::public_key(key.data())
|
||||||
, std::bind(&on_dht_put_mutable_item, boost::ref(m_alerts), _1, _2)
|
, std::bind(&on_dht_put_mutable_item, std::ref(m_alerts), _1, _2)
|
||||||
, std::bind(&put_mutable_callback, _1, cb), salt);
|
, std::bind(&put_mutable_callback, _1, cb), salt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::dht_get_peers(sha1_hash const& info_hash)
|
void session_impl::dht_get_peers(sha1_hash const& info_hash)
|
||||||
{
|
{
|
||||||
if (!m_dht) return;
|
if (!m_dht) return;
|
||||||
m_dht->get_peers(info_hash, std::bind(&on_dht_get_peers, boost::ref(m_alerts), info_hash, _1));
|
m_dht->get_peers(info_hash, std::bind(&on_dht_get_peers, std::ref(m_alerts), info_hash, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::dht_announce(sha1_hash const& info_hash, int port, int flags)
|
void session_impl::dht_announce(sha1_hash const& info_hash, int port, int flags)
|
||||||
{
|
{
|
||||||
if (!m_dht) return;
|
if (!m_dht) return;
|
||||||
m_dht->announce(info_hash, port, flags, std::bind(&on_dht_get_peers, boost::ref(m_alerts), info_hash, _1));
|
m_dht->announce(info_hash, port, flags, std::bind(&on_dht_get_peers, std::ref(m_alerts), info_hash, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::dht_direct_request(udp::endpoint ep, entry& e, void* userdata)
|
void session_impl::dht_direct_request(udp::endpoint ep, entry& e, void* userdata)
|
||||||
{
|
{
|
||||||
if (!m_dht) return;
|
if (!m_dht) return;
|
||||||
m_dht->direct_request(ep, e, std::bind(&on_direct_response, boost::ref(m_alerts), userdata, _1));
|
m_dht->direct_request(ep, e, std::bind(&on_direct_response, std::ref(m_alerts), userdata, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -6422,7 +6422,7 @@ namespace aux {
|
|||||||
|
|
||||||
if (m_lsd) return;
|
if (m_lsd) return;
|
||||||
|
|
||||||
m_lsd = boost::make_shared<lsd>(boost::ref(m_io_service)
|
m_lsd = boost::make_shared<lsd>(std::ref(m_io_service)
|
||||||
, std::bind(&session_impl::on_lsd_peer, this, _1, _2)
|
, std::bind(&session_impl::on_lsd_peer, this, _1, _2)
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
, std::bind(&session_impl::on_lsd_log, this, _1)
|
, std::bind(&session_impl::on_lsd_log, this, _1)
|
||||||
@ -6450,7 +6450,7 @@ namespace aux {
|
|||||||
|
|
||||||
// the natpmp constructor may fail and call the callbacks
|
// the natpmp constructor may fail and call the callbacks
|
||||||
// into the session_impl.
|
// into the session_impl.
|
||||||
m_natpmp = boost::make_shared<natpmp>(boost::ref(m_io_service)
|
m_natpmp = boost::make_shared<natpmp>(std::ref(m_io_service)
|
||||||
, std::bind(&session_impl::on_port_mapping
|
, std::bind(&session_impl::on_port_mapping
|
||||||
, this, _1, _2, _3, _4, _5, 0)
|
, this, _1, _2, _3, _4, _5, 0)
|
||||||
, std::bind(&session_impl::on_port_map_log
|
, std::bind(&session_impl::on_port_map_log
|
||||||
@ -6472,7 +6472,7 @@ namespace aux {
|
|||||||
if (m_upnp) return m_upnp.get();
|
if (m_upnp) return m_upnp.get();
|
||||||
|
|
||||||
// the upnp constructor may fail and call the callbacks
|
// the upnp constructor may fail and call the callbacks
|
||||||
m_upnp = boost::make_shared<upnp>(boost::ref(m_io_service)
|
m_upnp = boost::make_shared<upnp>(std::ref(m_io_service)
|
||||||
, m_settings.get_str(settings_pack::user_agent)
|
, m_settings.get_str(settings_pack::user_agent)
|
||||||
, std::bind(&session_impl::on_port_mapping
|
, std::bind(&session_impl::on_port_mapping
|
||||||
, this, _1, _2, _3, _4, _5, 1)
|
, this, _1, _2, _3, _4, _5, 1)
|
||||||
|
@ -466,7 +466,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
error_code e;
|
error_code e;
|
||||||
boost::shared_ptr<torrent_info> tf(boost::make_shared<torrent_info>(data, size, boost::ref(e), 0));
|
boost::shared_ptr<torrent_info> tf(boost::make_shared<torrent_info>(data, size, std::ref(e), 0));
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
set_error(e, torrent_status::error_file_url);
|
set_error(e, torrent_status::error_file_url);
|
||||||
@ -1461,7 +1461,7 @@ namespace libtorrent
|
|||||||
m_extensions.erase(i);
|
m_extensions.erase(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void torrent::add_extension_fun(boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
void torrent::add_extension_fun(std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
||||||
, void* userdata)
|
, void* userdata)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<torrent_plugin> tp(ext(get_handle(), userdata));
|
boost::shared_ptr<torrent_plugin> tp(ext(get_handle(), userdata));
|
||||||
@ -1598,7 +1598,7 @@ namespace libtorrent
|
|||||||
// create the SSL context for this torrent. We need to
|
// create the SSL context for this torrent. We need to
|
||||||
// inject the root certificate, and no other, to
|
// inject the root certificate, and no other, to
|
||||||
// verify other peers against
|
// verify other peers against
|
||||||
boost::shared_ptr<context> ctx = boost::make_shared<context>(boost::ref(m_ses.get_io_service()), context::sslv23);
|
boost::shared_ptr<context> ctx = boost::make_shared<context>(std::ref(m_ses.get_io_service()), context::sslv23);
|
||||||
|
|
||||||
if (!ctx)
|
if (!ctx)
|
||||||
{
|
{
|
||||||
@ -2417,7 +2417,7 @@ namespace libtorrent
|
|||||||
leave_seed_mode(true);
|
leave_seed_mode(true);
|
||||||
|
|
||||||
m_ses.disk_thread().async_release_files(m_storage.get()
|
m_ses.disk_thread().async_release_files(m_storage.get()
|
||||||
, boost::function<void(disk_io_job const*)>());
|
, std::function<void(disk_io_job const*)>());
|
||||||
|
|
||||||
// forget that we have any pieces
|
// forget that we have any pieces
|
||||||
m_have_all = false;
|
m_have_all = false;
|
||||||
@ -6167,7 +6167,7 @@ namespace libtorrent
|
|||||||
if (m_ses.is_aborted()) return;
|
if (m_ses.is_aborted()) return;
|
||||||
|
|
||||||
boost::shared_ptr<socket_type> s
|
boost::shared_ptr<socket_type> s
|
||||||
= boost::make_shared<socket_type>(boost::ref(m_ses.get_io_service()));
|
= boost::make_shared<socket_type>(std::ref(m_ses.get_io_service()));
|
||||||
if (!s) return;
|
if (!s) return;
|
||||||
|
|
||||||
void* userdata = nullptr;
|
void* userdata = nullptr;
|
||||||
@ -6250,12 +6250,12 @@ namespace libtorrent
|
|||||||
if (web->type == web_seed_entry::url_seed)
|
if (web->type == web_seed_entry::url_seed)
|
||||||
{
|
{
|
||||||
c = boost::make_shared<web_peer_connection>(
|
c = boost::make_shared<web_peer_connection>(
|
||||||
boost::cref(pack), boost::ref(*web));
|
boost::cref(pack), std::ref(*web));
|
||||||
}
|
}
|
||||||
else if (web->type == web_seed_entry::http_seed)
|
else if (web->type == web_seed_entry::http_seed)
|
||||||
{
|
{
|
||||||
c = boost::make_shared<http_seed_connection>(
|
c = boost::make_shared<http_seed_connection>(
|
||||||
boost::cref(pack), boost::ref(*web));
|
boost::cref(pack), std::ref(*web));
|
||||||
}
|
}
|
||||||
if (!c) return;
|
if (!c) return;
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ namespace libtorrent
|
|||||||
}
|
}
|
||||||
|
|
||||||
void torrent_handle::add_extension(
|
void torrent_handle::add_extension(
|
||||||
boost::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
std::function<boost::shared_ptr<torrent_plugin>(torrent_handle const&, void*)> const& ext
|
||||||
, void* userdata)
|
, void* userdata)
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
|
@ -289,7 +289,7 @@ namespace libtorrent
|
|||||||
{
|
{
|
||||||
boost::shared_ptr<http_tracker_connection> con
|
boost::shared_ptr<http_tracker_connection> con
|
||||||
= boost::make_shared<http_tracker_connection>(
|
= boost::make_shared<http_tracker_connection>(
|
||||||
boost::ref(ios), boost::ref(*this), boost::cref(req), c);
|
std::ref(ios), std::ref(*this), boost::cref(req), c);
|
||||||
m_http_conns.push_back(con);
|
m_http_conns.push_back(con);
|
||||||
con->start();
|
con->start();
|
||||||
return;
|
return;
|
||||||
@ -298,7 +298,7 @@ namespace libtorrent
|
|||||||
{
|
{
|
||||||
boost::shared_ptr<udp_tracker_connection> con
|
boost::shared_ptr<udp_tracker_connection> con
|
||||||
= boost::make_shared<udp_tracker_connection>(
|
= boost::make_shared<udp_tracker_connection>(
|
||||||
boost::ref(ios), boost::ref(*this), boost::cref(req) , c);
|
std::ref(ios), std::ref(*this), boost::cref(req) , c);
|
||||||
m_udp_conns[con->transaction_id()] = con;
|
m_udp_conns[con->transaction_id()] = con;
|
||||||
con->start();
|
con->start();
|
||||||
return;
|
return;
|
||||||
|
@ -478,7 +478,7 @@ void udp_socket::set_proxy_settings(aux::proxy_settings const& ps)
|
|||||||
{
|
{
|
||||||
// connect to socks5 server and open up the UDP tunnel
|
// connect to socks5 server and open up the UDP tunnel
|
||||||
|
|
||||||
m_socks5_connection = boost::make_shared<socks5>(boost::ref(m_socket.get_io_service()));
|
m_socks5_connection = boost::make_shared<socks5>(std::ref(m_socket.get_io_service()));
|
||||||
m_socks5_connection->start(ps);
|
m_socks5_connection->start(ps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
22
src/upnp.cpp
22
src/upnp.cpp
@ -313,7 +313,7 @@ void upnp::resend_request(error_code const& ec)
|
|||||||
d.upnp_connection.reset(new http_connection(m_io_service
|
d.upnp_connection.reset(new http_connection(m_io_service
|
||||||
, m_resolver
|
, m_resolver
|
||||||
, std::bind(&upnp::on_upnp_xml, self(), _1, _2
|
, std::bind(&upnp::on_upnp_xml, self(), _1, _2
|
||||||
, boost::ref(d), _5)));
|
, std::ref(d), _5)));
|
||||||
d.upnp_connection->get(d.url, seconds(30), 1);
|
d.upnp_connection->get(d.url, seconds(30), 1);
|
||||||
}
|
}
|
||||||
TORRENT_CATCH (std::exception& exc)
|
TORRENT_CATCH (std::exception& exc)
|
||||||
@ -774,8 +774,8 @@ void upnp::update_map(rootdevice& d, int i)
|
|||||||
d.upnp_connection.reset(new http_connection(m_io_service
|
d.upnp_connection.reset(new http_connection(m_io_service
|
||||||
, m_resolver
|
, m_resolver
|
||||||
, std::bind(&upnp::on_upnp_map_response, self(), _1, _2
|
, std::bind(&upnp::on_upnp_map_response, self(), _1, _2
|
||||||
, boost::ref(d), i, _5), true, default_max_bottled_buffer_size
|
, std::ref(d), i, _5), true, default_max_bottled_buffer_size
|
||||||
, std::bind(&upnp::create_port_mapping, self(), _1, boost::ref(d), i)));
|
, std::bind(&upnp::create_port_mapping, self(), _1, std::ref(d), i)));
|
||||||
|
|
||||||
d.upnp_connection->start(d.hostname, d.port
|
d.upnp_connection->start(d.hostname, d.port
|
||||||
, seconds(10), 1);
|
, seconds(10), 1);
|
||||||
@ -786,8 +786,8 @@ void upnp::update_map(rootdevice& d, int i)
|
|||||||
d.upnp_connection.reset(new http_connection(m_io_service
|
d.upnp_connection.reset(new http_connection(m_io_service
|
||||||
, m_resolver
|
, m_resolver
|
||||||
, std::bind(&upnp::on_upnp_unmap_response, self(), _1, _2
|
, std::bind(&upnp::on_upnp_unmap_response, self(), _1, _2
|
||||||
, boost::ref(d), i, _5), true, default_max_bottled_buffer_size
|
, std::ref(d), i, _5), true, default_max_bottled_buffer_size
|
||||||
, std::bind(&upnp::delete_port_mapping, self(), boost::ref(d), i)));
|
, std::bind(&upnp::delete_port_mapping, self(), std::ref(d), i)));
|
||||||
d.upnp_connection->start(d.hostname, d.port
|
d.upnp_connection->start(d.hostname, d.port
|
||||||
, seconds(10), 1);
|
, seconds(10), 1);
|
||||||
}
|
}
|
||||||
@ -940,7 +940,7 @@ void upnp::on_upnp_xml(error_code const& e
|
|||||||
}
|
}
|
||||||
|
|
||||||
parse_state s;
|
parse_state s;
|
||||||
xml_parse(p.get_body(), std::bind(&find_control_url, _1, _2, _3, boost::ref(s)));
|
xml_parse(p.get_body(), std::bind(&find_control_url, _1, _2, _3, std::ref(s)));
|
||||||
if (s.control_url.empty())
|
if (s.control_url.empty())
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
@ -1004,8 +1004,8 @@ void upnp::on_upnp_xml(error_code const& e
|
|||||||
d.upnp_connection.reset(new http_connection(m_io_service
|
d.upnp_connection.reset(new http_connection(m_io_service
|
||||||
, m_resolver
|
, m_resolver
|
||||||
, std::bind(&upnp::on_upnp_get_ip_address_response, self(), _1, _2
|
, std::bind(&upnp::on_upnp_get_ip_address_response, self(), _1, _2
|
||||||
, boost::ref(d), _5), true, default_max_bottled_buffer_size
|
, std::ref(d), _5), true, default_max_bottled_buffer_size
|
||||||
, std::bind(&upnp::get_ip_address, self(), boost::ref(d))));
|
, std::bind(&upnp::get_ip_address, self(), std::ref(d))));
|
||||||
d.upnp_connection->start(d.hostname, d.port
|
d.upnp_connection->start(d.hostname, d.port
|
||||||
, seconds(10), 1);
|
, seconds(10), 1);
|
||||||
}
|
}
|
||||||
@ -1237,7 +1237,7 @@ void upnp::on_upnp_get_ip_address_response(error_code const& e
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
ip_address_parse_state s;
|
ip_address_parse_state s;
|
||||||
xml_parse(body, std::bind(&find_ip_address, _1, _2, boost::ref(s)));
|
xml_parse(body, std::bind(&find_ip_address, _1, _2, std::ref(s)));
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
if (s.error_code != -1)
|
if (s.error_code != -1)
|
||||||
{
|
{
|
||||||
@ -1335,7 +1335,7 @@ void upnp::on_upnp_map_response(error_code const& e
|
|||||||
|
|
||||||
error_code_parse_state s;
|
error_code_parse_state s;
|
||||||
span<char const> body = p.get_body();
|
span<char const> body = p.get_body();
|
||||||
xml_parse(body, std::bind(&find_error_code, _1, _2, boost::ref(s)));
|
xml_parse(body, std::bind(&find_error_code, _1, _2, std::ref(s)));
|
||||||
|
|
||||||
if (s.error_code != -1)
|
if (s.error_code != -1)
|
||||||
{
|
{
|
||||||
@ -1475,7 +1475,7 @@ void upnp::on_upnp_unmap_response(error_code const& e
|
|||||||
error_code_parse_state s;
|
error_code_parse_state s;
|
||||||
if (p.header_finished())
|
if (p.header_finished())
|
||||||
{
|
{
|
||||||
xml_parse(p.get_body(), std::bind(&find_error_code, _1, _2, boost::ref(s)));
|
xml_parse(p.get_body(), std::bind(&find_error_code, _1, _2, std::ref(s)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int const proto = m_mappings[mapping].protocol;
|
int const proto = m_mappings[mapping].protocol;
|
||||||
|
@ -938,16 +938,13 @@ void utp_stream::on_read(void* self, size_t bytes_transferred
|
|||||||
TORRENT_ASSERT(s->m_read_handler);
|
TORRENT_ASSERT(s->m_read_handler);
|
||||||
TORRENT_ASSERT(bytes_transferred > 0 || ec || s->m_impl->m_null_buffers);
|
TORRENT_ASSERT(bytes_transferred > 0 || ec || s->m_impl->m_null_buffers);
|
||||||
s->m_io_service.post(std::bind<void>(s->m_read_handler, ec, bytes_transferred));
|
s->m_io_service.post(std::bind<void>(s->m_read_handler, ec, bytes_transferred));
|
||||||
s->m_read_handler.clear();
|
s->m_read_handler = nullptr;
|
||||||
// boost::function2<void, error_code const&, std::size_t> tmp;
|
|
||||||
// tmp.swap(s->m_read_handler);
|
|
||||||
if (kill && s->m_impl)
|
if (kill && s->m_impl)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(ec);
|
TORRENT_ASSERT(ec);
|
||||||
detach_utp_impl(s->m_impl);
|
detach_utp_impl(s->m_impl);
|
||||||
s->m_impl = nullptr;
|
s->m_impl = nullptr;
|
||||||
}
|
}
|
||||||
// tmp(ec, bytes_transferred);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void utp_stream::on_write(void* self, size_t bytes_transferred
|
void utp_stream::on_write(void* self, size_t bytes_transferred
|
||||||
@ -962,16 +959,13 @@ void utp_stream::on_write(void* self, size_t bytes_transferred
|
|||||||
TORRENT_ASSERT(s->m_write_handler);
|
TORRENT_ASSERT(s->m_write_handler);
|
||||||
TORRENT_ASSERT(bytes_transferred > 0 || ec);
|
TORRENT_ASSERT(bytes_transferred > 0 || ec);
|
||||||
s->m_io_service.post(std::bind<void>(s->m_write_handler, ec, bytes_transferred));
|
s->m_io_service.post(std::bind<void>(s->m_write_handler, ec, bytes_transferred));
|
||||||
s->m_write_handler.clear();
|
s->m_write_handler = nullptr;
|
||||||
// boost::function2<void, error_code const&, std::size_t> tmp;
|
|
||||||
// tmp.swap(s->m_read_handler);
|
|
||||||
if (kill && s->m_impl)
|
if (kill && s->m_impl)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(ec);
|
TORRENT_ASSERT(ec);
|
||||||
detach_utp_impl(s->m_impl);
|
detach_utp_impl(s->m_impl);
|
||||||
s->m_impl = nullptr;
|
s->m_impl = nullptr;
|
||||||
}
|
}
|
||||||
// tmp(ec, bytes_transferred);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void utp_stream::on_connect(void* self, error_code const& ec, bool kill)
|
void utp_stream::on_connect(void* self, error_code const& ec, bool kill)
|
||||||
@ -984,16 +978,13 @@ void utp_stream::on_connect(void* self, error_code const& ec, bool kill)
|
|||||||
|
|
||||||
TORRENT_ASSERT(s->m_connect_handler);
|
TORRENT_ASSERT(s->m_connect_handler);
|
||||||
s->m_io_service.post(std::bind<void>(s->m_connect_handler, ec));
|
s->m_io_service.post(std::bind<void>(s->m_connect_handler, ec));
|
||||||
s->m_connect_handler.clear();
|
s->m_connect_handler = nullptr;
|
||||||
// boost::function1<void, error_code const&> tmp;
|
|
||||||
// s->m_connect_handler.swap(tmp);
|
|
||||||
if (kill && s->m_impl)
|
if (kill && s->m_impl)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(ec);
|
TORRENT_ASSERT(ec);
|
||||||
detach_utp_impl(s->m_impl);
|
detach_utp_impl(s->m_impl);
|
||||||
s->m_impl = nullptr;
|
s->m_impl = nullptr;
|
||||||
}
|
}
|
||||||
// tmp(ec);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void utp_stream::add_read_buffer(void* buf, size_t len)
|
void utp_stream::add_read_buffer(void* buf, size_t len)
|
||||||
|
@ -39,7 +39,7 @@ namespace libtorrent
|
|||||||
{
|
{
|
||||||
|
|
||||||
TORRENT_EXTRA_EXPORT void xml_parse(span<char const> input
|
TORRENT_EXTRA_EXPORT void xml_parse(span<char const> input
|
||||||
, boost::function<void(int,char const*,int,char const*,int)> callback)
|
, std::function<void(int,char const*,int,char const*,int)> callback)
|
||||||
{
|
{
|
||||||
char const* p = input.data();
|
char const* p = input.data();
|
||||||
char const* end = input.data() + input.size();
|
char const* end = input.data() + input.size();
|
||||||
|
@ -47,7 +47,7 @@ using namespace libtorrent;
|
|||||||
using namespace std::placeholders;
|
using namespace std::placeholders;
|
||||||
|
|
||||||
peer_conn::peer_conn(io_service& ios
|
peer_conn::peer_conn(io_service& ios
|
||||||
, boost::function<void(int, char const*, int)> on_msg
|
, std::function<void(int, char const*, int)> on_msg
|
||||||
, torrent_info const& ti
|
, torrent_info const& ti
|
||||||
, tcp::endpoint const& ep
|
, tcp::endpoint const& ep
|
||||||
, peer_mode_t mode)
|
, peer_mode_t mode)
|
||||||
|
@ -40,7 +40,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/address.hpp"
|
#include "libtorrent/address.hpp"
|
||||||
#include "libtorrent/torrent_info.hpp"
|
#include "libtorrent/torrent_info.hpp"
|
||||||
#include "test.hpp" // for EXPORT
|
#include "test.hpp" // for EXPORT
|
||||||
#include <boost/function.hpp>
|
#include <functional>
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ struct EXPORT peer_conn
|
|||||||
{ uploader, downloader, idle };
|
{ uploader, downloader, idle };
|
||||||
|
|
||||||
peer_conn(io_service& ios
|
peer_conn(io_service& ios
|
||||||
, boost::function<void(int, char const*, int)> on_msg
|
, std::function<void(int, char const*, int)> on_msg
|
||||||
, libtorrent::torrent_info const& ti
|
, libtorrent::torrent_info const& ti
|
||||||
, libtorrent::tcp::endpoint const& ep
|
, libtorrent::tcp::endpoint const& ep
|
||||||
, peer_mode_t mode);
|
, peer_mode_t mode);
|
||||||
@ -86,7 +86,7 @@ private:
|
|||||||
|
|
||||||
int read_pos;
|
int read_pos;
|
||||||
|
|
||||||
boost::function<void(int, char const*, int)> m_on_msg;
|
std::function<void(int, char const*, int)> m_on_msg;
|
||||||
|
|
||||||
enum state_t
|
enum state_t
|
||||||
{
|
{
|
||||||
|
@ -758,7 +758,7 @@ boost::shared_ptr<torrent_info> create_torrent(std::ostream* file
|
|||||||
bencode(out, tor);
|
bencode(out, tor);
|
||||||
error_code ec;
|
error_code ec;
|
||||||
return boost::make_shared<torrent_info>(
|
return boost::make_shared<torrent_info>(
|
||||||
&tmp[0], tmp.size(), boost::ref(ec), 0);
|
&tmp[0], tmp.size(), std::ref(ec), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::tuple<torrent_handle, torrent_handle, torrent_handle>
|
std::tuple<torrent_handle, torrent_handle, torrent_handle>
|
||||||
|
@ -124,7 +124,7 @@ TORRENT_TEST(notify_function)
|
|||||||
|
|
||||||
// if there are queued alerts when we set the notify function,
|
// if there are queued alerts when we set the notify function,
|
||||||
// that counts as an edge and it's called
|
// that counts as an edge and it's called
|
||||||
mgr.set_notify_function(std::bind(&test_notify_fun, boost::ref(cnt)));
|
mgr.set_notify_function(std::bind(&test_notify_fun, std::ref(cnt)));
|
||||||
|
|
||||||
TEST_EQUAL(mgr.pending(), true);
|
TEST_EQUAL(mgr.pending(), true);
|
||||||
TEST_EQUAL(cnt, 1);
|
TEST_EQUAL(cnt, 1);
|
||||||
|
@ -41,9 +41,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "libtorrent/time.hpp"
|
#include "libtorrent/time.hpp"
|
||||||
#include "libtorrent/aux_/session_settings.hpp"
|
#include "libtorrent/aux_/session_settings.hpp"
|
||||||
|
|
||||||
#include <boost/function.hpp>
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/enable_shared_from_this.hpp>
|
#include <boost/enable_shared_from_this.hpp>
|
||||||
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
@ -153,7 +154,7 @@ static void nop() {}
|
|||||||
|
|
||||||
void run_test(connections_t& v
|
void run_test(connections_t& v
|
||||||
, bandwidth_manager& manager
|
, bandwidth_manager& manager
|
||||||
, boost::function<void()> f = &nop)
|
, std::function<void()> f = &nop)
|
||||||
{
|
{
|
||||||
std::cerr << "-------------" << std::endl;
|
std::cerr << "-------------" << std::endl;
|
||||||
|
|
||||||
@ -235,7 +236,7 @@ void test_connections_variable_rate(int num, int limit, int torrent_limit)
|
|||||||
, std::bind(&peer_connection::throttle, _1, limit));
|
, std::bind(&peer_connection::throttle, _1, limit));
|
||||||
|
|
||||||
run_test(v, manager, std::bind(&do_change_peer_rate
|
run_test(v, manager, std::bind(&do_change_peer_rate
|
||||||
, boost::ref(v), limit));
|
, std::ref(v), limit));
|
||||||
|
|
||||||
if (torrent_limit > 0 && limit * num > torrent_limit)
|
if (torrent_limit > 0 && limit * num > torrent_limit)
|
||||||
limit = torrent_limit / num;
|
limit = torrent_limit / num;
|
||||||
@ -359,7 +360,7 @@ void test_torrents_variable_rate(int num, int limit, int global_limit)
|
|||||||
std::copy(v1.begin(), v1.end(), std::back_inserter(v));
|
std::copy(v1.begin(), v1.end(), std::back_inserter(v));
|
||||||
std::copy(v2.begin(), v2.end(), std::back_inserter(v));
|
std::copy(v2.begin(), v2.end(), std::back_inserter(v));
|
||||||
|
|
||||||
run_test(v, manager, std::bind(&do_change_rate, boost::ref(t1), boost::ref(t2), limit));
|
run_test(v, manager, std::bind(&do_change_rate, std::ref(t1), std::ref(t2), limit));
|
||||||
|
|
||||||
if (global_limit > 0 && global_limit < 2 * limit)
|
if (global_limit > 0 && global_limit < 2 * limit)
|
||||||
limit = global_limit / 2;
|
limit = global_limit / 2;
|
||||||
|
@ -491,7 +491,7 @@ TORRENT_TEST(reject_fast)
|
|||||||
allowed_fast.push_back(3);
|
allowed_fast.push_back(3);
|
||||||
|
|
||||||
std::for_each(allowed_fast.begin(), allowed_fast.end()
|
std::for_each(allowed_fast.begin(), allowed_fast.end()
|
||||||
, std::bind(&send_allow_fast, boost::ref(s), _1));
|
, std::bind(&send_allow_fast, std::ref(s), _1));
|
||||||
print_session_log(*ses);
|
print_session_log(*ses);
|
||||||
|
|
||||||
while (!allowed_fast.empty())
|
while (!allowed_fast.empty())
|
||||||
@ -600,7 +600,7 @@ TORRENT_TEST(reject_suggest)
|
|||||||
suggested.push_back(3);
|
suggested.push_back(3);
|
||||||
|
|
||||||
std::for_each(suggested.begin(), suggested.end()
|
std::for_each(suggested.begin(), suggested.end()
|
||||||
, std::bind(&send_suggest_piece, boost::ref(s), _1));
|
, std::bind(&send_suggest_piece, std::ref(s), _1));
|
||||||
print_session_log(*ses);
|
print_session_log(*ses);
|
||||||
|
|
||||||
send_unchoke(s);
|
send_unchoke(s);
|
||||||
@ -679,7 +679,7 @@ TORRENT_TEST(suggest_order)
|
|||||||
suggested.push_back(3);
|
suggested.push_back(3);
|
||||||
|
|
||||||
std::for_each(suggested.begin(), suggested.end()
|
std::for_each(suggested.begin(), suggested.end()
|
||||||
, std::bind(&send_suggest_piece, boost::ref(s), _1));
|
, std::bind(&send_suggest_piece, std::ref(s), _1));
|
||||||
print_session_log(*ses);
|
print_session_log(*ses);
|
||||||
|
|
||||||
send_unchoke(s);
|
send_unchoke(s);
|
||||||
|
@ -139,7 +139,7 @@ boost::shared_ptr<default_storage> setup_torrent(file_storage& fs
|
|||||||
error_code ec;
|
error_code ec;
|
||||||
|
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&buf[0]
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&buf[0]
|
||||||
, buf.size(), boost::ref(ec), 0));
|
, buf.size(), std::ref(ec), 0));
|
||||||
|
|
||||||
if (ec)
|
if (ec)
|
||||||
{
|
{
|
||||||
@ -447,7 +447,7 @@ void test_check_files(std::string const& test_path
|
|||||||
|
|
||||||
std::vector<char> buf;
|
std::vector<char> buf;
|
||||||
bencode(std::back_inserter(buf), t.generate());
|
bencode(std::back_inserter(buf), t.generate());
|
||||||
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), boost::ref(ec), 0);
|
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), std::ref(ec), 0);
|
||||||
|
|
||||||
aux::session_settings set;
|
aux::session_settings set;
|
||||||
file_pool fp;
|
file_pool fp;
|
||||||
@ -523,7 +523,7 @@ void run_test(bool unbuffered)
|
|||||||
|
|
||||||
std::vector<char> buf;
|
std::vector<char> buf;
|
||||||
bencode(std::back_inserter(buf), t.generate());
|
bencode(std::back_inserter(buf), t.generate());
|
||||||
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), boost::ref(ec), 0);
|
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), std::ref(ec), 0);
|
||||||
std::cerr << "=== test 1 === " << (unbuffered?"unbuffered":"buffered") << std::endl;
|
std::cerr << "=== test 1 === " << (unbuffered?"unbuffered":"buffered") << std::endl;
|
||||||
|
|
||||||
// run_storage_tests writes piece 0, 1 and 2. not 3
|
// run_storage_tests writes piece 0, 1 and 2. not 3
|
||||||
@ -567,7 +567,7 @@ void run_test(bool unbuffered)
|
|||||||
|
|
||||||
std::vector<char> buf;
|
std::vector<char> buf;
|
||||||
bencode(std::back_inserter(buf), t.generate());
|
bencode(std::back_inserter(buf), t.generate());
|
||||||
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), boost::ref(ec), 0);
|
info = boost::make_shared<torrent_info>(&buf[0], buf.size(), std::ref(ec), 0);
|
||||||
|
|
||||||
std::cerr << "=== test 3 ===" << std::endl;
|
std::cerr << "=== test 3 ===" << std::endl;
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ TORRENT_TEST(long_names)
|
|||||||
std::vector<char> buf;
|
std::vector<char> buf;
|
||||||
bencode(std::back_inserter(buf), torrent);
|
bencode(std::back_inserter(buf), torrent);
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> ti(boost::make_shared<torrent_info>(&buf[0], buf.size(), boost::ref(ec)));
|
boost::shared_ptr<torrent_info> ti(boost::make_shared<torrent_info>(&buf[0], buf.size(), std::ref(ec)));
|
||||||
TEST_CHECK(!ec);
|
TEST_CHECK(!ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ TORRENT_TEST(total_wanted)
|
|||||||
bencode(std::back_inserter(tmp), t.generate());
|
bencode(std::back_inserter(tmp), t.generate());
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(
|
||||||
&tmp[0], tmp.size(), boost::ref(ec)));
|
&tmp[0], tmp.size(), std::ref(ec)));
|
||||||
|
|
||||||
settings_pack pack;
|
settings_pack pack;
|
||||||
pack.set_int(settings_pack::alert_mask, alert::storage_notification);
|
pack.set_int(settings_pack::alert_mask, alert::storage_notification);
|
||||||
@ -227,7 +227,7 @@ TORRENT_TEST(added_peers)
|
|||||||
bencode(std::back_inserter(tmp), t.generate());
|
bencode(std::back_inserter(tmp), t.generate());
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(
|
||||||
&tmp[0], tmp.size(), boost::ref(ec)));
|
&tmp[0], tmp.size(), std::ref(ec)));
|
||||||
|
|
||||||
settings_pack pack;
|
settings_pack pack;
|
||||||
pack.set_str(settings_pack::listen_interfaces, "0.0.0.0:48130");
|
pack.set_str(settings_pack::listen_interfaces, "0.0.0.0:48130");
|
||||||
@ -275,7 +275,7 @@ TORRENT_TEST(torrent)
|
|||||||
std::back_insert_iterator<std::vector<char> > out(tmp);
|
std::back_insert_iterator<std::vector<char> > out(tmp);
|
||||||
bencode(out, t.generate());
|
bencode(out, t.generate());
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), boost::ref(ec), 0));
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), std::ref(ec), 0));
|
||||||
TEST_CHECK(info->num_pieces() > 0);
|
TEST_CHECK(info->num_pieces() > 0);
|
||||||
|
|
||||||
test_running_torrent(info, file_size);
|
test_running_torrent(info, file_size);
|
||||||
@ -302,7 +302,7 @@ TORRENT_TEST(torrent)
|
|||||||
std::back_insert_iterator<std::vector<char> > out(tmp);
|
std::back_insert_iterator<std::vector<char> > out(tmp);
|
||||||
bencode(out, t.generate());
|
bencode(out, t.generate());
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), boost::ref(ec), 0));
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), std::ref(ec), 0));
|
||||||
test_running_torrent(info, 1024);
|
test_running_torrent(info, 1024);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -351,7 +351,7 @@ TORRENT_TEST(duplicate_is_not_error)
|
|||||||
plugin_creator creator(called);
|
plugin_creator creator(called);
|
||||||
|
|
||||||
add_torrent_params p;
|
add_torrent_params p;
|
||||||
p.ti = boost::make_shared<torrent_info>(&tmp[0], tmp.size(), boost::ref(ec), 0);
|
p.ti = boost::make_shared<torrent_info>(&tmp[0], tmp.size(), std::ref(ec), 0);
|
||||||
p.flags &= ~add_torrent_params::flag_paused;
|
p.flags &= ~add_torrent_params::flag_paused;
|
||||||
p.flags &= ~add_torrent_params::flag_auto_managed;
|
p.flags &= ~add_torrent_params::flag_auto_managed;
|
||||||
p.flags &= ~add_torrent_params::flag_duplicate_is_error;
|
p.flags &= ~add_torrent_params::flag_duplicate_is_error;
|
||||||
@ -405,7 +405,7 @@ TORRENT_TEST(rename_file)
|
|||||||
std::back_insert_iterator<std::vector<char> > out(tmp);
|
std::back_insert_iterator<std::vector<char> > out(tmp);
|
||||||
bencode(out, t.generate());
|
bencode(out, t.generate());
|
||||||
error_code ec;
|
error_code ec;
|
||||||
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), boost::ref(ec), 0));
|
boost::shared_ptr<torrent_info> info(boost::make_shared<torrent_info>(&tmp[0], tmp.size(), std::ref(ec), 0));
|
||||||
|
|
||||||
TEST_EQUAL(info->files().file_path(0), combine_path("test3","tmp1"));
|
TEST_EQUAL(info->files().file_path(0), combine_path("test3","tmp1"));
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ void run_upnp_test(char const* root_filename, char const* router_model, char con
|
|||||||
|
|
||||||
std::string user_agent = "test agent";
|
std::string user_agent = "test agent";
|
||||||
|
|
||||||
boost::shared_ptr<upnp> upnp_handler(new upnp(boost::ref(ios)
|
boost::shared_ptr<upnp> upnp_handler(new upnp(std::ref(ios)
|
||||||
, user_agent, &callback, &log_callback, false));
|
, user_agent, &callback, &log_callback, false));
|
||||||
upnp_handler->start();
|
upnp_handler->start();
|
||||||
upnp_handler->discover_device();
|
upnp_handler->discover_device();
|
||||||
|
@ -273,7 +273,7 @@ void test_parse(char const* in, char const* expected)
|
|||||||
{
|
{
|
||||||
std::string out;
|
std::string out;
|
||||||
xml_parse(str(in), std::bind(&parser_callback
|
xml_parse(str(in), std::bind(&parser_callback
|
||||||
, boost::ref(out), _1, _2, _3, _4, _5));
|
, std::ref(out), _1, _2, _3, _4, _5));
|
||||||
std::fprintf(stderr, "in: %s\n out: %s\nexpected: %s\n"
|
std::fprintf(stderr, "in: %s\n out: %s\nexpected: %s\n"
|
||||||
, in, out.c_str(), expected);
|
, in, out.c_str(), expected);
|
||||||
TEST_EQUAL(out, expected);
|
TEST_EQUAL(out, expected);
|
||||||
@ -282,7 +282,7 @@ void test_parse(char const* in, char const* expected)
|
|||||||
TORRENT_TEST(upnp_parser1)
|
TORRENT_TEST(upnp_parser1)
|
||||||
{
|
{
|
||||||
parse_state xml_s;
|
parse_state xml_s;
|
||||||
xml_parse(upnp_xml, std::bind(&find_control_url, _1, _2, _3, boost::ref(xml_s)));
|
xml_parse(upnp_xml, std::bind(&find_control_url, _1, _2, _3, std::ref(xml_s)));
|
||||||
|
|
||||||
std::cerr << "namespace " << xml_s.service_type << std::endl;
|
std::cerr << "namespace " << xml_s.service_type << std::endl;
|
||||||
std::cerr << "url_base: " << xml_s.url_base << std::endl;
|
std::cerr << "url_base: " << xml_s.url_base << std::endl;
|
||||||
@ -296,7 +296,7 @@ TORRENT_TEST(upnp_parser1)
|
|||||||
TORRENT_TEST(upnp_parser2)
|
TORRENT_TEST(upnp_parser2)
|
||||||
{
|
{
|
||||||
parse_state xml_s;
|
parse_state xml_s;
|
||||||
xml_parse(upnp_xml2, std::bind(&find_control_url, _1, _2, _3, boost::ref(xml_s)));
|
xml_parse(upnp_xml2, std::bind(&find_control_url, _1, _2, _3, std::ref(xml_s)));
|
||||||
|
|
||||||
std::cerr << "namespace " << xml_s.service_type << std::endl;
|
std::cerr << "namespace " << xml_s.service_type << std::endl;
|
||||||
std::cerr << "url_base: " << xml_s.url_base << std::endl;
|
std::cerr << "url_base: " << xml_s.url_base << std::endl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user