mirror of
https://github.com/monero-project/monero.git
synced 2024-11-17 08:17:37 +00:00
Merge pull request #288
f278fe3
s/terget/target/ (moneromooo-monero)d8ee0a9
print limits when running limit commands with no arguments (moneromooo-monero)
This commit is contained in:
commit
38068d07ca
10 changed files with 71 additions and 14 deletions
|
@ -251,7 +251,10 @@ bool t_command_parser_executor::print_status(const std::vector<std::string>& arg
|
||||||
|
|
||||||
bool t_command_parser_executor::set_limit(const std::vector<std::string>& args)
|
bool t_command_parser_executor::set_limit(const std::vector<std::string>& args)
|
||||||
{
|
{
|
||||||
if(args.size()!=1) return false;
|
if(args.size()>1) return false;
|
||||||
|
if(args.size()==0) {
|
||||||
|
return m_executor.get_limit();
|
||||||
|
}
|
||||||
int limit;
|
int limit;
|
||||||
try {
|
try {
|
||||||
limit = std::stoi(args[0]);
|
limit = std::stoi(args[0]);
|
||||||
|
@ -267,7 +270,10 @@ bool t_command_parser_executor::set_limit(const std::vector<std::string>& args)
|
||||||
|
|
||||||
bool t_command_parser_executor::set_limit_up(const std::vector<std::string>& args)
|
bool t_command_parser_executor::set_limit_up(const std::vector<std::string>& args)
|
||||||
{
|
{
|
||||||
if(args.size()!=1) return false;
|
if(args.size()>1) return false;
|
||||||
|
if(args.size()==0) {
|
||||||
|
return m_executor.get_limit_up();
|
||||||
|
}
|
||||||
int limit;
|
int limit;
|
||||||
try {
|
try {
|
||||||
limit = std::stoi(args[0]);
|
limit = std::stoi(args[0]);
|
||||||
|
@ -283,7 +289,10 @@ bool t_command_parser_executor::set_limit_up(const std::vector<std::string>& arg
|
||||||
|
|
||||||
bool t_command_parser_executor::set_limit_down(const std::vector<std::string>& args)
|
bool t_command_parser_executor::set_limit_down(const std::vector<std::string>& args)
|
||||||
{
|
{
|
||||||
if(args.size()!=1) return false;
|
if(args.size()>1) return false;
|
||||||
|
if(args.size()==0) {
|
||||||
|
return m_executor.get_limit_down();
|
||||||
|
}
|
||||||
int limit;
|
int limit;
|
||||||
try {
|
try {
|
||||||
limit = std::stoi(args[0]);
|
limit = std::stoi(args[0]);
|
||||||
|
|
|
@ -737,6 +737,15 @@ bool t_rpc_command_executor::print_status()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool t_rpc_command_executor::get_limit()
|
||||||
|
{
|
||||||
|
int limit_down = epee::net_utils::connection_basic::get_rate_down_limit( );
|
||||||
|
int limit_up = epee::net_utils::connection_basic::get_rate_up_limit( );
|
||||||
|
std::cout << "limit-down is " << limit_down/1024 << " kB/s" << std::endl;
|
||||||
|
std::cout << "limit-up is " << limit_up/1024 << " kB/s" << std::endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool t_rpc_command_executor::set_limit(int limit)
|
bool t_rpc_command_executor::set_limit(int limit)
|
||||||
{
|
{
|
||||||
epee::net_utils::connection_basic::set_rate_down_limit( limit );
|
epee::net_utils::connection_basic::set_rate_down_limit( limit );
|
||||||
|
@ -746,6 +755,13 @@ bool t_rpc_command_executor::set_limit(int limit)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool t_rpc_command_executor::get_limit_up()
|
||||||
|
{
|
||||||
|
int limit_up = epee::net_utils::connection_basic::get_rate_up_limit( );
|
||||||
|
std::cout << "limit-up is " << limit_up/1024 << " kB/s" << std::endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool t_rpc_command_executor::set_limit_up(int limit)
|
bool t_rpc_command_executor::set_limit_up(int limit)
|
||||||
{
|
{
|
||||||
epee::net_utils::connection_basic::set_rate_up_limit( limit );
|
epee::net_utils::connection_basic::set_rate_up_limit( limit );
|
||||||
|
@ -753,6 +769,13 @@ bool t_rpc_command_executor::set_limit_up(int limit)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool t_rpc_command_executor::get_limit_down()
|
||||||
|
{
|
||||||
|
int limit_down = epee::net_utils::connection_basic::get_rate_down_limit( );
|
||||||
|
std::cout << "limit-down is " << limit_down/1024 << " kB/s" << std::endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool t_rpc_command_executor::set_limit_down(int limit)
|
bool t_rpc_command_executor::set_limit_down(int limit)
|
||||||
{
|
{
|
||||||
epee::net_utils::connection_basic::set_rate_down_limit( limit );
|
epee::net_utils::connection_basic::set_rate_down_limit( limit );
|
||||||
|
|
|
@ -99,6 +99,12 @@ public:
|
||||||
|
|
||||||
bool print_status();
|
bool print_status();
|
||||||
|
|
||||||
|
bool get_limit();
|
||||||
|
|
||||||
|
bool get_limit_up();
|
||||||
|
|
||||||
|
bool get_limit_down();
|
||||||
|
|
||||||
bool set_limit(int limit);
|
bool set_limit(int limit);
|
||||||
|
|
||||||
bool set_limit_up(int limit);
|
bool set_limit_up(int limit);
|
||||||
|
|
|
@ -199,6 +199,23 @@ void connection_basic::set_rate_down_limit(uint64_t limit) {
|
||||||
save_limit_to_file(limit);
|
save_limit_to_file(limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t connection_basic::get_rate_up_limit() {
|
||||||
|
uint64_t limit;
|
||||||
|
{
|
||||||
|
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_out );
|
||||||
|
limit = network_throttle_manager::get_global_throttle_out().get_target_speed();
|
||||||
|
}
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t connection_basic::get_rate_down_limit() {
|
||||||
|
uint64_t limit;
|
||||||
|
{
|
||||||
|
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_in );
|
||||||
|
limit = network_throttle_manager::get_global_throttle_in().get_target_speed();
|
||||||
|
}
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
|
||||||
void connection_basic::save_limit_to_file(int limit) {
|
void connection_basic::save_limit_to_file(int limit) {
|
||||||
// saving limit to file
|
// saving limit to file
|
||||||
|
@ -207,12 +224,12 @@ void connection_basic::save_limit_to_file(int limit) {
|
||||||
|
|
||||||
{
|
{
|
||||||
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_out );
|
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_out );
|
||||||
epee::net_utils::data_logger::get_instance().add_data("upload_limit", network_throttle_manager::get_global_throttle_out().get_terget_speed() / 1024);
|
epee::net_utils::data_logger::get_instance().add_data("upload_limit", network_throttle_manager::get_global_throttle_out().get_target_speed() / 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_in );
|
CRITICAL_REGION_LOCAL( network_throttle_manager::m_lock_get_global_throttle_in );
|
||||||
epee::net_utils::data_logger::get_instance().add_data("download_limit", network_throttle_manager::get_global_throttle_in().get_terget_speed() / 1024);
|
epee::net_utils::data_logger::get_instance().add_data("download_limit", network_throttle_manager::get_global_throttle_in().get_target_speed() / 1024);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,8 @@ class connection_basic { // not-templated base class for rapid developmet of som
|
||||||
|
|
||||||
static void set_rate_up_limit(uint64_t limit);
|
static void set_rate_up_limit(uint64_t limit);
|
||||||
static void set_rate_down_limit(uint64_t limit);
|
static void set_rate_down_limit(uint64_t limit);
|
||||||
|
static uint64_t get_rate_up_limit();
|
||||||
|
static uint64_t get_rate_down_limit();
|
||||||
|
|
||||||
// config misc
|
// config misc
|
||||||
static void set_tos_flag(int tos); // ToS / QoS flag
|
static void set_tos_flag(int tos); // ToS / QoS flag
|
||||||
|
|
|
@ -172,7 +172,7 @@ void network_throttle::set_real_target_speed( network_speed_kbps real_target )
|
||||||
m_real_target_speed = real_target * 1024;
|
m_real_target_speed = real_target * 1024;
|
||||||
}
|
}
|
||||||
|
|
||||||
network_speed_kbps network_throttle::get_terget_speed()
|
network_speed_kbps network_throttle::get_target_speed()
|
||||||
{
|
{
|
||||||
return m_real_target_speed / 1024;
|
return m_real_target_speed / 1024;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ class network_throttle : public i_network_throttle {
|
||||||
virtual void set_name(const std::string &name);
|
virtual void set_name(const std::string &name);
|
||||||
virtual void set_target_speed( network_speed_kbps target );
|
virtual void set_target_speed( network_speed_kbps target );
|
||||||
virtual void set_real_target_speed( network_speed_kbps real_target ); // only for throttle_out
|
virtual void set_real_target_speed( network_speed_kbps real_target ); // only for throttle_out
|
||||||
virtual network_speed_kbps get_terget_speed();
|
virtual network_speed_kbps get_target_speed();
|
||||||
|
|
||||||
// add information about events:
|
// add information about events:
|
||||||
virtual void handle_trafic_exact(size_t packet_size); ///< count the new traffic/packet; the size is exact considering all network costs
|
virtual void handle_trafic_exact(size_t packet_size); ///< count the new traffic/packet; the size is exact considering all network costs
|
||||||
|
|
|
@ -147,7 +147,7 @@ class i_network_throttle {
|
||||||
virtual void set_name(const std::string &name)=0;
|
virtual void set_name(const std::string &name)=0;
|
||||||
virtual void set_target_speed( network_speed_kbps target )=0;
|
virtual void set_target_speed( network_speed_kbps target )=0;
|
||||||
virtual void set_real_target_speed(network_speed_kbps real_target)=0;
|
virtual void set_real_target_speed(network_speed_kbps real_target)=0;
|
||||||
virtual network_speed_kbps get_terget_speed()=0;
|
virtual network_speed_kbps get_target_speed()=0;
|
||||||
|
|
||||||
virtual void handle_trafic_exact(size_t packet_size) =0; // count the new traffic/packet; the size is exact considering all network costs
|
virtual void handle_trafic_exact(size_t packet_size) =0; // count the new traffic/packet; the size is exact considering all network costs
|
||||||
virtual void handle_trafic_tcp(size_t packet_size) =0; // count the new traffic/packet; the size is as TCP, we will consider MTU etc
|
virtual void handle_trafic_tcp(size_t packet_size) =0; // count the new traffic/packet; the size is as TCP, we will consider MTU etc
|
||||||
|
|
|
@ -112,7 +112,7 @@ uint64_t get_money_in_first_transfers(const tools::wallet2::transfer_container&
|
||||||
|
|
||||||
bool transactions_flow_test(std::string& working_folder,
|
bool transactions_flow_test(std::string& working_folder,
|
||||||
std::string path_source_wallet,
|
std::string path_source_wallet,
|
||||||
std::string path_terget_wallet,
|
std::string path_target_wallet,
|
||||||
std::string& daemon_addr_a,
|
std::string& daemon_addr_a,
|
||||||
std::string& daemon_addr_b,
|
std::string& daemon_addr_b,
|
||||||
uint64_t amount_to_transfer, size_t mix_in_factor, size_t transactions_count, size_t transactions_per_second)
|
uint64_t amount_to_transfer, size_t mix_in_factor, size_t transactions_count, size_t transactions_per_second)
|
||||||
|
@ -122,14 +122,14 @@ bool transactions_flow_test(std::string& working_folder,
|
||||||
if(path_source_wallet.empty())
|
if(path_source_wallet.empty())
|
||||||
path_source_wallet = generate_random_wallet_name();
|
path_source_wallet = generate_random_wallet_name();
|
||||||
|
|
||||||
if(path_terget_wallet.empty())
|
if(path_target_wallet.empty())
|
||||||
path_terget_wallet = generate_random_wallet_name();
|
path_target_wallet = generate_random_wallet_name();
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
w1.generate(working_folder + "/" + path_source_wallet, "");
|
w1.generate(working_folder + "/" + path_source_wallet, "");
|
||||||
w2.generate(working_folder + "/" + path_terget_wallet, "");
|
w2.generate(working_folder + "/" + path_target_wallet, "");
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +152,7 @@ bool transactions_flow_test(std::string& working_folder,
|
||||||
|
|
||||||
LOG_PRINT_GREEN("Using wallets: " << ENDL
|
LOG_PRINT_GREEN("Using wallets: " << ENDL
|
||||||
<< "Source: " << w1.get_account().get_public_address_str(false) << ENDL << "Path: " << working_folder + "/" + path_source_wallet << ENDL
|
<< "Source: " << w1.get_account().get_public_address_str(false) << ENDL << "Path: " << working_folder + "/" + path_source_wallet << ENDL
|
||||||
<< "Target: " << w2.get_account().get_public_address_str(false) << ENDL << "Path: " << working_folder + "/" + path_terget_wallet, LOG_LEVEL_1);
|
<< "Target: " << w2.get_account().get_public_address_str(false) << ENDL << "Path: " << working_folder + "/" + path_target_wallet, LOG_LEVEL_1);
|
||||||
|
|
||||||
//lets do some money
|
//lets do some money
|
||||||
epee::net_utils::http::http_simple_client http_client;
|
epee::net_utils::http::http_simple_client http_client;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
bool transactions_flow_test(std::string& working_folder,
|
bool transactions_flow_test(std::string& working_folder,
|
||||||
std::string path_source_wallet,
|
std::string path_source_wallet,
|
||||||
std::string path_terget_wallet,
|
std::string path_target_wallet,
|
||||||
std::string& daemon_addr_a,
|
std::string& daemon_addr_a,
|
||||||
std::string& daemon_addr_b,
|
std::string& daemon_addr_b,
|
||||||
uint64_t amount_to_transfer, size_t mix_in_factor, size_t transactions_count, size_t transactions_per_second);
|
uint64_t amount_to_transfer, size_t mix_in_factor, size_t transactions_count, size_t transactions_per_second);
|
||||||
|
|
Loading…
Reference in a new issue