forked from premiere/premiere-libtorrent
separate out session_stats into its own header. silences warning and cleans up
This commit is contained in:
parent
8e08cd7639
commit
f7e4f83469
|
@ -107,6 +107,7 @@ nobase_include_HEADERS = \
|
||||||
rss.hpp \
|
rss.hpp \
|
||||||
session.hpp \
|
session.hpp \
|
||||||
session_settings.hpp \
|
session_settings.hpp \
|
||||||
|
session_stats.hpp \
|
||||||
session_status.hpp \
|
session_status.hpp \
|
||||||
settings_pack.hpp \
|
settings_pack.hpp \
|
||||||
sha1.hpp \
|
sha1.hpp \
|
||||||
|
|
|
@ -35,6 +35,16 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/config.hpp"
|
#include "libtorrent/config.hpp"
|
||||||
#include "libtorrent/peer_id.hpp"
|
#include "libtorrent/peer_id.hpp"
|
||||||
|
#include "libtorrent/address.hpp"
|
||||||
|
#include "libtorrent/io_service.hpp"
|
||||||
|
#include "libtorrent/disk_buffer_holder.hpp"
|
||||||
|
|
||||||
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
|
#include "libtorrent/socket.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "libtorrent/socket.hpp" // for tcp::endpoint
|
||||||
|
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
#include "libtorrent/aux_/disable_warnings_push.hpp"
|
||||||
|
|
||||||
|
@ -51,16 +61,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
#include "libtorrent/aux_/disable_warnings_pop.hpp"
|
||||||
|
|
||||||
#include "libtorrent/address.hpp"
|
|
||||||
#include "libtorrent/io_service.hpp"
|
|
||||||
#include "libtorrent/disk_buffer_holder.hpp"
|
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
|
||||||
#include "libtorrent/socket.hpp"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "libtorrent/socket.hpp" // for tcp::endpoint
|
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
class peer_connection;
|
class peer_connection;
|
||||||
|
@ -102,6 +102,8 @@ namespace libtorrent
|
||||||
|
|
||||||
namespace libtorrent { namespace aux
|
namespace libtorrent { namespace aux
|
||||||
{
|
{
|
||||||
|
struct session_settings;
|
||||||
|
|
||||||
#if !defined TORRENT_DISABLE_LOGGING || TORRENT_USE_ASSERTS
|
#if !defined TORRENT_DISABLE_LOGGING || TORRENT_USE_ASSERTS
|
||||||
// This is the basic logging and debug interface offered by the session.
|
// This is the basic logging and debug interface offered by the session.
|
||||||
// a release build with logging disabled (which is the default) will
|
// a release build with logging disabled (which is the default) will
|
||||||
|
|
|
@ -86,16 +86,6 @@ namespace libtorrent
|
||||||
struct session_status;
|
struct session_status;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// describes one statistics metric from the session. For more information,
|
|
||||||
// see the session-statistics_ section.
|
|
||||||
struct TORRENT_EXPORT stats_metric
|
|
||||||
{
|
|
||||||
char const* name;
|
|
||||||
int value_index;
|
|
||||||
enum { type_counter, type_gauge };
|
|
||||||
int type;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef boost::function<void(sha1_hash const&, std::vector<char>&
|
typedef boost::function<void(sha1_hash const&, std::vector<char>&
|
||||||
, error_code&)> user_load_function_t;
|
, error_code&)> user_load_function_t;
|
||||||
|
|
||||||
|
@ -136,12 +126,6 @@ namespace libtorrent
|
||||||
#error TORRENT_CFG is not defined!
|
#error TORRENT_CFG is not defined!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// given a name of a metric, this function returns the counter index of it,
|
|
||||||
// or -1 if it could not be found. The counter index is the index into the
|
|
||||||
// values array returned by session_stats_alert.
|
|
||||||
// TODO: 3 move this declaration into its own header (session_stats.hpp)
|
|
||||||
TORRENT_EXPORT int find_metric_idx(char const* name);
|
|
||||||
|
|
||||||
void TORRENT_EXPORT TORRENT_CFG();
|
void TORRENT_EXPORT TORRENT_CFG();
|
||||||
|
|
||||||
namespace aux
|
namespace aux
|
||||||
|
@ -168,13 +152,6 @@ namespace libtorrent
|
||||||
boost::shared_ptr<aux::session_impl> m_impl;
|
boost::shared_ptr<aux::session_impl> m_impl;
|
||||||
};
|
};
|
||||||
|
|
||||||
// This free function returns the list of available metrics exposed by
|
|
||||||
// libtorrent's statistics API. Each metric has a name and a *value index*.
|
|
||||||
// The value index is the index into the array in session_stats_alert where
|
|
||||||
// this metric's value can be found when the session stats is sampled (by
|
|
||||||
// calling post_session_stats()).
|
|
||||||
TORRENT_EXPORT std::vector<stats_metric> session_stats_metrics();
|
|
||||||
|
|
||||||
// The session holds all state that spans multiple torrents. Among other
|
// The session holds all state that spans multiple torrents. Among other
|
||||||
// things it runs the network loop and manages all torrents. Once it's
|
// things it runs the network loop and manages all torrents. Once it's
|
||||||
// created, the session object will spawn the main thread that will do all
|
// created, the session object will spawn the main thread that will do all
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Copyright (c) 2012-2015, Arvid Norberg
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the author nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TORRENT_SESSION_STATS_HPP_INCLUDED
|
||||||
|
#define TORRENT_SESSION_STATS_HPP_INCLUDED
|
||||||
|
|
||||||
|
#include "libtorrent/config.hpp"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace libtorrent
|
||||||
|
{
|
||||||
|
|
||||||
|
// describes one statistics metric from the session. For more information,
|
||||||
|
// see the session-statistics_ section.
|
||||||
|
struct TORRENT_EXPORT stats_metric
|
||||||
|
{
|
||||||
|
char const* name;
|
||||||
|
int value_index;
|
||||||
|
enum { type_counter, type_gauge };
|
||||||
|
int type;
|
||||||
|
};
|
||||||
|
|
||||||
|
// This free function returns the list of available metrics exposed by
|
||||||
|
// libtorrent's statistics API. Each metric has a name and a *value index*.
|
||||||
|
// The value index is the index into the array in session_stats_alert where
|
||||||
|
// this metric's value can be found when the session stats is sampled (by
|
||||||
|
// calling post_session_stats()).
|
||||||
|
TORRENT_EXPORT std::vector<stats_metric> session_stats_metrics();
|
||||||
|
|
||||||
|
// given a name of a metric, this function returns the counter index of it,
|
||||||
|
// or -1 if it could not be found. The counter index is the index into the
|
||||||
|
// values array returned by session_stats_alert.
|
||||||
|
TORRENT_EXPORT int find_metric_idx(char const* name);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -593,15 +593,6 @@ namespace libtorrent
|
||||||
TORRENT_ASYNC_CALL1(post_torrent_updates, flags);
|
TORRENT_ASYNC_CALL1(post_torrent_updates, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<stats_metric> session_stats_metrics()
|
|
||||||
{
|
|
||||||
std::vector<stats_metric> ret;
|
|
||||||
// defined in session_stats.cpp
|
|
||||||
extern void get_stats_metric_map(std::vector<stats_metric>& stats);
|
|
||||||
get_stats_metric_map(ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::post_session_stats()
|
void session::post_session_stats()
|
||||||
{
|
{
|
||||||
TORRENT_ASYNC_CALL(post_session_stats);
|
TORRENT_ASYNC_CALL(post_session_stats);
|
||||||
|
|
|
@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libtorrent/session.hpp" // for stats_metric
|
#include "libtorrent/session_stats.hpp" // for stats_metric
|
||||||
#include "libtorrent/aux_/session_interface.hpp" // for stats counter names
|
#include "libtorrent/aux_/session_interface.hpp" // for stats counter names
|
||||||
#include "libtorrent/performance_counters.hpp" // for counters
|
#include "libtorrent/performance_counters.hpp" // for counters
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
|
@ -38,7 +38,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
|
|
||||||
struct TORRENT_EXPORT stats_metric_impl
|
struct stats_metric_impl
|
||||||
{
|
{
|
||||||
char const* name;
|
char const* name;
|
||||||
int value_index;
|
int value_index;
|
||||||
|
@ -518,10 +518,9 @@ namespace libtorrent
|
||||||
};
|
};
|
||||||
#undef METRIC
|
#undef METRIC
|
||||||
|
|
||||||
// TODO: 3 create a header for this file and declare these two functions.
|
std::vector<stats_metric> session_stats_metrics()
|
||||||
// currently this is externed into session.cpp
|
|
||||||
void get_stats_metric_map(std::vector<stats_metric>& stats)
|
|
||||||
{
|
{
|
||||||
|
std::vector<stats_metric> stats;
|
||||||
const int num = sizeof(metrics)/sizeof(metrics[0]);
|
const int num = sizeof(metrics)/sizeof(metrics[0]);
|
||||||
stats.resize(num);
|
stats.resize(num);
|
||||||
for (int i = 0; i < num; ++i)
|
for (int i = 0; i < num; ++i)
|
||||||
|
@ -531,6 +530,7 @@ namespace libtorrent
|
||||||
stats[i].type = metrics[i].value_index >= counters::num_stats_counters
|
stats[i].type = metrics[i].value_index >= counters::num_stats_counters
|
||||||
? stats_metric::type_gauge : stats_metric::type_counter;
|
? stats_metric::type_gauge : stats_metric::type_counter;
|
||||||
}
|
}
|
||||||
|
return stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
int find_metric_idx(char const* name)
|
int find_metric_idx(char const* name)
|
||||||
|
|
|
@ -34,21 +34,10 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#include "setup_transfer.hpp"
|
|
||||||
|
|
||||||
#include "libtorrent/session.hpp"
|
#include "libtorrent/session.hpp"
|
||||||
#include "libtorrent/hasher.hpp"
|
#include "libtorrent/hasher.hpp"
|
||||||
#include "libtorrent/http_parser.hpp"
|
#include "libtorrent/http_parser.hpp"
|
||||||
#include "libtorrent/thread.hpp"
|
#include "libtorrent/thread.hpp"
|
||||||
|
|
||||||
#include "libtorrent/thread.hpp"
|
|
||||||
#include <boost/tuple/tuple.hpp>
|
|
||||||
#include <boost/bind.hpp>
|
|
||||||
#include <boost/make_shared.hpp>
|
|
||||||
|
|
||||||
#include "test.hpp"
|
|
||||||
#include "test_utils.hpp"
|
|
||||||
|
|
||||||
#include "libtorrent/assert.hpp"
|
#include "libtorrent/assert.hpp"
|
||||||
#include "libtorrent/alert_types.hpp"
|
#include "libtorrent/alert_types.hpp"
|
||||||
#include "libtorrent/create_torrent.hpp"
|
#include "libtorrent/create_torrent.hpp"
|
||||||
|
@ -56,6 +45,16 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/socket_type.hpp"
|
#include "libtorrent/socket_type.hpp"
|
||||||
#include "libtorrent/instantiate_connection.hpp"
|
#include "libtorrent/instantiate_connection.hpp"
|
||||||
#include "libtorrent/ip_filter.hpp"
|
#include "libtorrent/ip_filter.hpp"
|
||||||
|
#include "libtorrent/session_stats.hpp"
|
||||||
|
#include "libtorrent/thread.hpp"
|
||||||
|
|
||||||
|
#include <boost/tuple/tuple.hpp>
|
||||||
|
#include <boost/bind.hpp>
|
||||||
|
#include <boost/make_shared.hpp>
|
||||||
|
|
||||||
|
#include "test.hpp"
|
||||||
|
#include "test_utils.hpp"
|
||||||
|
#include "setup_transfer.hpp"
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#ifdef TORRENT_USE_OPENSSL
|
||||||
#include <boost/asio/ssl/stream.hpp>
|
#include <boost/asio/ssl/stream.hpp>
|
||||||
|
|
Loading…
Reference in New Issue