![]() |
GNUnet
0.11.x
|
#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet-ats-solver-eval.h"
#include "gnunet-service-ats_normalization.h"
#include "gnunet-service-ats_preferences.c"
Go to the source code of this file.
Macros | |
#define | BIG_M_STRING "unlimited" |
Variables | |
struct GNUNET_STATISTICS_Handle * | GSA_stats |
Handle for statistics. More... | |
static struct Experiment * | e |
static struct LoggingHandle * | l |
static struct SolverHandle * | sh |
static struct TestPeer * | peer_head |
static struct TestPeer * | peer_tail |
static double | default_properties [GNUNET_ATS_PropertyCount] |
static double | default_preferences [GNUNET_ATS_PreferenceCount] |
static char * | opt_exp_file |
cmd option -e: experiment file More... | |
static char * | opt_solver |
static int | opt_log |
cmd option -l: enable logging More... | |
static int | opt_save |
cmd option -p: enable plots More... | |
static int | opt_verbose |
cmd option -v: verbose logs More... | |
static int | opt_print |
cmd option -p: print logs More... | |
static int | opt_disable_normalization |
cmd option -d: disable normalization More... | |
static int | res |
static struct PropertyGenerator * | prop_gen_head |
Property Generators. More... | |
static struct PropertyGenerator * | prop_gen_tail |
static struct PreferenceGenerator * | pref_gen_head |
Preference Generators. More... | |
static struct PreferenceGenerator * | pref_gen_tail |
#define BIG_M_STRING "unlimited" |
Definition at line 32 of file gnunet-ats-solver-eval.c.
Referenced by GNUNET_ATS_solvers_load_quotas().
|
static |
Do shutdown.
Definition at line 3434 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_solvers_experimentation_stop(), and GNUNET_ATS_solvers_solver_stop().
Referenced by done(), GNUNET_ATS_solvers_solver_start(), and run().
|
static |
Definition at line 92 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, and GNUNET_ATS_TEST_TG_SINUS.
Referenced by GNUNET_ATS_solver_generate_preferences_start(), and GNUNET_ATS_solver_generate_property_start().
|
static |
Definition at line 116 of file gnunet-ats-solver-eval.c.
References TestPeer::id, and TestPeer::next.
Referenced by enforce_add_address(), enforce_del_address(), enforce_start_preference(), enforce_start_property(), enforce_start_request(), enforce_stop_request(), GNUNET_ATS_solver_generate_preferences_start(), set_feedback_task(), set_pref_task(), and set_prop_task().
|
static |
Definition at line 128 of file gnunet-ats-solver-eval.c.
References GNUNET_memcmp, TestPeer::next, and TestPeer::peer_id.
Referenced by get_preferences_cb(), and solver_bandwidth_changed_cb().
|
static |
Definition at line 140 of file gnunet-ats-solver-eval.c.
References TestPeer::addr_head, TestAddress::aid, and TestAddress::next.
Referenced by enforce_add_address(), enforce_del_address(), enforce_start_property(), and set_prop_task().
void GNUNET_ATS_solver_logging_now | ( | struct LoggingHandle * | l | ) |
Logging.
Definition at line 155 of file gnunet-ats-solver-eval.c.
References GNUNET_TIME_Absolute::abs_value_us, LoggingAddress::active, ATS_Address::active, LoggingPeer::addr_head, TestPeer::addr_head, LoggingPeer::addr_tail, LoggingAddress::aid, TestAddress::aid, LoggingAddress::assigned_bw_in, ATS_Address::assigned_bw_in, LoggingAddress::assigned_bw_out, ATS_Address::assigned_bw_out, TestAddress::ats_addr, LoggingTimeStep::delta, GNUNET_ATS_print_preference_type(), GNUNET_CONTAINER_DLL_insert_tail, GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_new, GNUNET_TIME_absolute_get(), GNUNET_TIME_absolute_get_duration(), GNUNET_TIME_UNIT_ZERO, LoggingTimeStep::head, LoggingHandle::head, LoggingPeer::id, TestPeer::id, LoggingPeer::is_requested, TestPeer::is_requested, LoggingAddress::network, TestAddress::network, TestPeer::next, TestAddress::next, LoggingPeer::peer_id, TestPeer::peer_id, LoggingPeer::pref_abs, TestPeer::pref_abs, LoggingPeer::pref_norm, TestPeer::pref_norm, LoggingTimeStep::prev, LoggingAddress::prop_abs, TestAddress::prop_abs, LoggingAddress::prop_norm, TestAddress::prop_norm, GNUNET_TIME_Relative::rel_value_us, LoggingTimeStep::tail, LoggingHandle::tail, and LoggingTimeStep::timestamp.
Referenced by enforce_del_address(), enforce_stop_request(), logging_task(), and solver_bandwidth_changed_cb().
|
static |
Definition at line 232 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_solver_logging_now(), GNUNET_SCHEDULER_add_delayed(), LoggingHandle::log_freq, and LoggingHandle::logging_task.
Referenced by GNUNET_ATS_solver_logging_start().
struct LoggingHandle* GNUNET_ATS_solver_logging_start | ( | struct GNUNET_TIME_Relative | freq | ) |
Definition at line 245 of file gnunet-ats-solver-eval.c.
References GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_new, GNUNET_NO, GNUNET_SCHEDULER_add_now(), GNUNET_STRINGS_relative_time_to_string(), l, LoggingHandle::log_freq, logging_task(), and LoggingHandle::logging_task.
Referenced by run().
void GNUNET_ATS_solver_logging_stop | ( | struct LoggingHandle * | l | ) |
Definition at line 260 of file gnunet-ats-solver-eval.c.
References GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_SCHEDULER_cancel(), and LoggingHandle::logging_task.
Referenced by done().
|
static |
Definition at line 272 of file gnunet-ats-solver-eval.c.
References LoggingFileHandle::aid, LoggingFileHandle::next, LoggingFileHandle::pid, and res.
Referenced by GNUNET_ATS_solver_logging_write_to_disk().
void GNUNET_ATS_solver_logging_write_to_disk | ( | struct LoggingHandle * | l, |
int | add_time_stamp, | ||
char * | output_dir | ||
) |
Definition at line 286 of file gnunet-ats-solver-eval.c.
References GNUNET_TIME_Absolute::abs_value_us, LoggingAddress::active, LoggingPeer::addr_head, LoggingFileHandle::aid, LoggingAddress::aid, LoggingAddress::assigned_bw_in, LoggingAddress::assigned_bw_out, cleanup(), LoggingTimeStep::delta, DIR_SEPARATOR_STR, LoggingFileHandle::f_hd, filename, find_logging_file_handle(), GNUNET_asprintf(), GNUNET_CONTAINER_DLL_insert, GNUNET_CONTAINER_DLL_remove, GNUNET_DISK_directory_create_for_file(), GNUNET_DISK_file_close(), GNUNET_DISK_file_open(), GNUNET_DISK_file_write(), GNUNET_DISK_OPEN_CREATE, GNUNET_DISK_OPEN_READWRITE, GNUNET_DISK_OPEN_TRUNCATE, GNUNET_DISK_PERM_GROUP_READ, GNUNET_DISK_PERM_OTHER_READ, GNUNET_DISK_PERM_USER_READ, GNUNET_DISK_PERM_USER_WRITE, GNUNET_ERROR_TYPE_DEBUG, GNUNET_free, GNUNET_log, GNUNET_new, GNUNET_NO, GNUNET_OK, GNUNET_strdup, GNUNET_TIME_absolute_get_difference(), GNUNET_YES, LoggingTimeStep::head, LoggingHandle::head, LoggingPeer::id, LoggingPeer::is_requested, Experiment::log_prefix, LoggingAddress::network, LoggingFileHandle::next, LoggingTimeStep::next, LoggingPeer::next, LoggingAddress::next, opt_solver, LoggingFileHandle::pid, LoggingPeer::pref_abs, LoggingPeer::pref_norm, LoggingAddress::prop_abs, LoggingAddress::prop_norm, and LoggingTimeStep::timestamp.
Referenced by done().
void GNUNET_ATS_solver_logging_eval | ( | struct LoggingHandle * | l | ) |
Definition at line 459 of file gnunet-ats-solver-eval.c.
References GNUNET_TIME_Absolute::abs_value_us, LoggingAddress::active, LoggingPeer::addr_head, LoggingAddress::aid, LoggingAddress::assigned_bw_in, LoggingAddress::assigned_bw_out, LoggingTimeStep::delta, GNUNET_ATS_print_preference_type(), LoggingTimeStep::head, LoggingHandle::head, LoggingPeer::id, LoggingTimeStep::next, LoggingPeer::next, LoggingAddress::next, LoggingPeer::pref_abs, LoggingPeer::pref_norm, LoggingAddress::prop_abs, LoggingAddress::prop_norm, GNUNET_TIME_Relative::rel_value_us, and LoggingTimeStep::timestamp.
Referenced by done().
void GNUNET_ATS_solver_logging_free | ( | struct LoggingHandle * | l | ) |
Definition at line 504 of file gnunet-ats-solver-eval.c.
References LoggingPeer::addr_head, LoggingPeer::addr_tail, GNUNET_CONTAINER_DLL_remove, GNUNET_free, GNUNET_SCHEDULER_cancel(), LoggingTimeStep::head, LoggingHandle::head, LoggingHandle::logging_task, LoggingTimeStep::next, LoggingPeer::next, LoggingAddress::next, LoggingTimeStep::tail, and LoggingHandle::tail.
Referenced by done().
|
static |
Definition at line 557 of file gnunet-ats-solver-eval.c.
References PropertyGenerator::base_value, PropertyGenerator::duration_period, GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_break, GNUNET_CRYPTO_QUALITY_WEAK, GNUNET_CRYPTO_random_u32(), GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_TIME_absolute_get_duration(), PropertyGenerator::max_value, GNUNET_TIME_Relative::rel_value_us, PropertyGenerator::time_start, and PropertyGenerator::type.
Referenced by set_prop_task().
|
static |
Definition at line 624 of file gnunet-ats-solver-eval.c.
References PropertyGenerator::address_id, SolverHandle::addresses, TestAddress::ats_addr, PropertyGenerator::ats_property, GNUNET_ATS_SolverFunctions::cls, find_address_by_id(), find_peer_by_id(), PropertyGenerator::frequency, GAS_normalization_update_property(), get_property(), GNUNET_break, GNUNET_CONTAINER_multipeermap_contains_value(), GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_NO, GNUNET_SCHEDULER_add_delayed(), GNUNET_YES, opt_disable_normalization, p, PropertyGenerator::peer, TestPeer::peer_id, TestAddress::prop_abs, TestAddress::prop_norm, GNUNET_ATS_SolverFunctions::s_address_update_property, GNUNET_ATS_SolverFunctions::s_bulk_start, GNUNET_ATS_SolverFunctions::s_bulk_stop, PropertyGenerator::set_task, SolverHandle::sf, PropertyGenerator::test_address, test_address(), and PropertyGenerator::test_peer.
Referenced by GNUNET_ATS_solver_generate_property_start().
|
static |
Set ats_property to 0 to find all pgs.
Definition at line 698 of file gnunet-ats-solver-eval.c.
References PropertyGenerator::address_id, PropertyGenerator::ats_property, PropertyGenerator::next, and PropertyGenerator::peer.
Referenced by enforce_del_address(), enforce_start_property(), and enforce_stop_property().
void GNUNET_ATS_solver_generate_property_stop | ( | struct PropertyGenerator * | pg | ) |
Definition at line 714 of file gnunet-ats-solver-eval.c.
References PropertyGenerator::address_id, PropertyGenerator::ats_property, GNUNET_CONTAINER_DLL_remove, GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_cancel(), PropertyGenerator::peer, and PropertyGenerator::set_task.
Referenced by enforce_del_address(), enforce_start_property(), enforce_stop_property(), and GNUNET_ATS_solver_generate_property_stop_all().
struct PropertyGenerator* GNUNET_ATS_solver_generate_property_start | ( | unsigned int | peer, |
unsigned int | address_id, | ||
struct TestPeer * | test_peer, | ||
struct TestAddress * | test_address, | ||
enum GeneratorType | type, | ||
long int | base_value, | ||
long int | value_rate, | ||
struct GNUNET_TIME_Relative | period, | ||
struct GNUNET_TIME_Relative | frequency, | ||
uint32_t | ats_property | ||
) |
Generate between the source master and the partner and set property with a value depending on the generator.
peer | source |
address_id | partner |
test_peer | the peer |
test_address | the address |
type | type of generator |
base_value | base value |
value_rate | maximum value |
period | duration of a period of generation (~ 1/frequency) |
frequency | how long to generate property |
ats_property | ATS property to generate |
Definition at line 749 of file gnunet-ats-solver-eval.c.
References PropertyGenerator::address_id, PropertyGenerator::ats_property, PropertyGenerator::base_value, PropertyGenerator::duration_period, PropertyGenerator::frequency, GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_CONTAINER_DLL_insert, GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_new, GNUNET_SCHEDULER_add_now(), GNUNET_TIME_absolute_get(), PropertyGenerator::max_value, peer, PropertyGenerator::peer, print_generator_type(), set_prop_task(), PropertyGenerator::set_task, PropertyGenerator::test_address, test_address(), PropertyGenerator::test_peer, PropertyGenerator::time_start, type, and PropertyGenerator::type.
Referenced by enforce_start_property().
void GNUNET_ATS_solver_generate_property_stop_all | ( | ) |
Stop all preferences generators.
Definition at line 828 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_solver_generate_property_stop(), PropertyGenerator::next, and prop_gen_head.
Referenced by done().
|
static |
Definition at line 850 of file gnunet-ats-solver-eval.c.
References PreferenceGenerator::base_value, PreferenceGenerator::duration_period, GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_break, GNUNET_CRYPTO_QUALITY_WEAK, GNUNET_CRYPTO_random_u32(), GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_TIME_absolute_get_duration(), PreferenceGenerator::max_value, GNUNET_TIME_Relative::rel_value_us, PreferenceGenerator::time_start, and PreferenceGenerator::type.
Referenced by set_feedback_task(), and set_pref_task().
|
static |
Definition at line 917 of file gnunet-ats-solver-eval.c.
References PreferenceGenerator::client_id, GNUNET_ATS_SolverFunctions::cls, PreferenceGenerator::feedback_bw_in_acc, PreferenceGenerator::feedback_bw_out_acc, PreferenceGenerator::feedback_delay_acc, PreferenceGenerator::feedback_frequency, PreferenceGenerator::feedback_last, PreferenceGenerator::feedback_last_bw_update, PreferenceGenerator::feedback_last_delay_update, PreferenceGenerator::feedback_task, find_peer_by_id(), get_preference(), GNUNET_ATS_PREFERENCE_BANDWIDTH, GNUNET_ATS_PREFERENCE_LATENCY, GNUNET_ATS_print_preference_type(), GNUNET_break, GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_SCHEDULER_add_delayed(), GNUNET_TIME_absolute_get(), GNUNET_TIME_absolute_get_duration(), PreferenceGenerator::kind, PreferenceGenerator::last_assigned_bw_in, PreferenceGenerator::last_assigned_bw_out, PreferenceGenerator::last_delay_value, p, PreferenceGenerator::peer, TestPeer::peer_id, PreferenceGenerator::pref_bw_old, PreferenceGenerator::pref_latency_old, GNUNET_TIME_Relative::rel_value_us, GNUNET_ATS_SolverFunctions::s_feedback, and SolverHandle::sf.
Referenced by GNUNET_ATS_solver_generate_preferences_start().
|
static |
Definition at line 998 of file gnunet-ats-solver-eval.c.
References PreferenceGenerator::client_id, GNUNET_ATS_SolverFunctions::cls, find_peer_by_id(), PreferenceGenerator::frequency, get_preference(), GNUNET_ATS_PREFERENCE_BANDWIDTH, GNUNET_ATS_PREFERENCE_LATENCY, GNUNET_ATS_print_preference_type(), GNUNET_break, GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_SCHEDULER_add_delayed(), GNUNET_YES, PreferenceGenerator::kind, opt_disable_normalization, p, PreferenceGenerator::peer, TestPeer::peer_id, TestPeer::pref_abs, PreferenceGenerator::pref_bw_old, PreferenceGenerator::pref_latency_old, TestPeer::pref_norm, GNUNET_ATS_SolverFunctions::s_pref, PreferenceGenerator::set_task, SolverHandle::sf, and update_preference().
Referenced by GNUNET_ATS_solver_generate_preferences_start().
|
static |
Definition at line 1055 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_PREFERENCE_END, PreferenceGenerator::kind, PreferenceGenerator::next, and PreferenceGenerator::peer.
Referenced by enforce_start_preference(), and enforce_stop_preference().
void GNUNET_ATS_solver_generate_preferences_stop | ( | struct PreferenceGenerator * | pg | ) |
Definition at line 1070 of file gnunet-ats-solver-eval.c.
References PreferenceGenerator::feedback_task, GNUNET_ATS_print_preference_type(), GNUNET_CONTAINER_DLL_remove, GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_cancel(), PreferenceGenerator::kind, PreferenceGenerator::peer, and PreferenceGenerator::set_task.
Referenced by enforce_start_preference(), enforce_stop_preference(), and GNUNET_ATS_solver_generate_preferences_stop_all().
|
static |
Definition at line 1094 of file gnunet-ats-solver-eval.c.
References ATS_Address::active, TestPeer::addr_head, TestAddress::ats_addr, GNUNET_YES, and TestAddress::next.
Referenced by GNUNET_ATS_solver_generate_preferences_start().
struct PreferenceGenerator* GNUNET_ATS_solver_generate_preferences_start | ( | unsigned int | peer, |
unsigned int | address_id, | ||
unsigned int | client_id, | ||
enum GeneratorType | type, | ||
long int | base_value, | ||
long int | value_rate, | ||
struct GNUNET_TIME_Relative | period, | ||
struct GNUNET_TIME_Relative | frequency, | ||
enum GNUNET_ATS_PreferenceKind | kind, | ||
struct GNUNET_TIME_Relative | feedback_frequency | ||
) |
Generate between the source master and the partner and set property with a value depending on the generator.
peer | source |
address_id | partner |
client_id | the client |
type | type of generator |
base_value | base value |
value_rate | maximum value |
period | duration of a period of generation (~ 1/frequency) |
frequency | how long to generate property |
kind | ATS preference to generate |
feedback_frequency | how often to give feedback |
Definition at line 1122 of file gnunet-ats-solver-eval.c.
References TestPeer::assigned_bw_in, TestPeer::assigned_bw_out, PreferenceGenerator::base_value, PreferenceGenerator::client_id, PreferenceGenerator::duration_period, PreferenceGenerator::feedback_bw_in_acc, PreferenceGenerator::feedback_bw_out_acc, PreferenceGenerator::feedback_delay_acc, PreferenceGenerator::feedback_frequency, PreferenceGenerator::feedback_last, PreferenceGenerator::feedback_last_bw_update, PreferenceGenerator::feedback_last_delay_update, PreferenceGenerator::feedback_task, find_active_address(), find_peer_by_id(), PreferenceGenerator::frequency, GNUNET_ATS_print_preference_type(), GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_break, GNUNET_CONTAINER_DLL_insert, GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_new, GNUNET_SCHEDULER_add_delayed(), GNUNET_SCHEDULER_add_now(), GNUNET_TIME_absolute_get(), GNUNET_TIME_UNIT_FOREVER_REL, PreferenceGenerator::kind, PreferenceGenerator::last_assigned_bw_in, PreferenceGenerator::last_assigned_bw_out, PreferenceGenerator::last_delay_value, PreferenceGenerator::max_value, p, peer, PreferenceGenerator::peer, print_generator_type(), TestAddress::prop_norm, GNUNET_TIME_Relative::rel_value_us, set_feedback_task(), set_pref_task(), PreferenceGenerator::set_task, PreferenceGenerator::time_start, type, and PreferenceGenerator::type.
Referenced by enforce_start_preference().
void GNUNET_ATS_solver_generate_preferences_stop_all | ( | ) |
Stop all preferences generators.
Definition at line 1227 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_solver_generate_preferences_stop(), PreferenceGenerator::next, and pref_gen_head.
Referenced by done().
|
static |
Experiments.
Definition at line 1245 of file gnunet-ats-solver-eval.c.
References SOLVER_OP_ADD_ADDRESS, SOLVER_OP_DEL_ADDRESS, SOLVER_OP_START_REQUEST, SOLVER_OP_START_SET_PREFERENCE, SOLVER_OP_START_SET_PROPERTY, SOLVER_OP_STOP_REQUEST, SOLVER_OP_STOP_SET_PREFERENCE, and SOLVER_OP_STOP_SET_PROPERTY.
Referenced by enforce_episode().
|
static |
Definition at line 1281 of file gnunet-ats-solver-eval.c.
References e, GNUNET_new, GNUNET_TIME_UNIT_ZERO, Experiment::name, Experiment::start, and Experiment::total_duration.
Referenced by GNUNET_ATS_solvers_experimentation_load().
|
static |
Definition at line 1294 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address, Experiment::cfg_file, GNUNET_free, Episode::head, Experiment::log_output_dir, Experiment::log_prefix, Experiment::name, GNUNET_ATS_TEST_Operation::next, Episode::next, GNUNET_ATS_TEST_Operation::plugin, and Experiment::start.
Referenced by GNUNET_ATS_solvers_experimentation_load(), and GNUNET_ATS_solvers_experimentation_stop().
|
static |
Definition at line 1326 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address, GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::address_network, GNUNET_ATS_TEST_Operation::address_session, GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_NT_BT, GNUNET_NT_LAN, GNUNET_NT_LOOPBACK, GNUNET_NT_UNSPECIFIED, GNUNET_NT_WAN, GNUNET_NT_WLAN, GNUNET_OK, GNUNET_STRINGS_utf8_toupper(), GNUNET_SYSERR, GNUNET_ATS_TEST_Operation::peer_id, and GNUNET_ATS_TEST_Operation::plugin.
Referenced by load_episode().
|
static |
Definition at line 1464 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address, GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::address_session, GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_OK, GNUNET_SYSERR, GNUNET_ATS_TEST_Operation::peer_id, and GNUNET_ATS_TEST_Operation::plugin.
Referenced by load_episode().
|
static |
Definition at line 1553 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_PreferenceTypeString, and props.
Referenced by load_op_start_set_preference(), and load_op_stop_set_preference().
|
static |
Definition at line 1566 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::base_rate, GNUNET_ATS_TEST_Operation::client_id, Episode::duration, GNUNET_ATS_TEST_Operation::feedback_delay, GNUNET_ATS_TEST_Operation::frequency, GNUNET_ATS_TEST_Operation::gen_type, GNUNET_asprintf(), GNUNET_ATS_print_preference_type(), GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_CONFIGURATION_get_value_time(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_OK, GNUNET_SYSERR, GNUNET_TIME_UNIT_FOREVER_REL, Episode::id, GNUNET_ATS_TEST_Operation::max_rate, parse_preference_string(), GNUNET_ATS_TEST_Operation::peer_id, GNUNET_ATS_TEST_Operation::period, GNUNET_ATS_TEST_Operation::pref_type, GNUNET_TIME_Relative::rel_value_us, and type.
Referenced by load_episode().
|
static |
Definition at line 1746 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_asprintf(), GNUNET_ATS_print_preference_type(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_OK, GNUNET_SYSERR, Episode::id, parse_preference_string(), GNUNET_ATS_TEST_Operation::peer_id, and GNUNET_ATS_TEST_Operation::pref_type.
Referenced by load_episode().
|
static |
Definition at line 1815 of file gnunet-ats-solver-eval.c.
Referenced by load_op_start_set_property(), and load_op_stop_set_property().
|
static |
Definition at line 1828 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::base_rate, Episode::duration, GNUNET_ATS_TEST_Operation::frequency, GNUNET_ATS_TEST_Operation::gen_type, GNUNET_asprintf(), GNUNET_ATS_TEST_TG_CONSTANT, GNUNET_ATS_TEST_TG_LINEAR, GNUNET_ATS_TEST_TG_RANDOM, GNUNET_ATS_TEST_TG_SINUS, GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_CONFIGURATION_get_value_time(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_OK, GNUNET_SYSERR, Episode::id, GNUNET_ATS_TEST_Operation::max_rate, parse_property_string(), GNUNET_ATS_TEST_Operation::peer_id, GNUNET_ATS_TEST_Operation::period, and type.
Referenced by load_episode().
|
static |
Definition at line 1996 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_OK, GNUNET_SYSERR, Episode::id, parse_property_string(), and GNUNET_ATS_TEST_Operation::peer_id.
Referenced by load_episode().
|
static |
Definition at line 2067 of file gnunet-ats-solver-eval.c.
References GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_free, GNUNET_OK, GNUNET_SYSERR, and GNUNET_ATS_TEST_Operation::peer_id.
Referenced by load_episode().
|
static |
Definition at line 2092 of file gnunet-ats-solver-eval.c.
References GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_free, GNUNET_OK, GNUNET_SYSERR, and GNUNET_ATS_TEST_Operation::peer_id.
Referenced by load_episode().
|
static |
Definition at line 2117 of file gnunet-ats-solver-eval.c.
References GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_CONTAINER_DLL_insert_tail, GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_new, GNUNET_OK, GNUNET_SYSERR, Episode::head, Episode::id, load_op_add_address(), load_op_del_address(), load_op_start_request(), load_op_start_set_preference(), load_op_start_set_property(), load_op_stop_request(), load_op_stop_set_preference(), load_op_stop_set_property(), op, res, SOLVER_OP_ADD_ADDRESS, SOLVER_OP_DEL_ADDRESS, SOLVER_OP_START_REQUEST, SOLVER_OP_START_SET_PREFERENCE, SOLVER_OP_START_SET_PROPERTY, SOLVER_OP_STOP_REQUEST, SOLVER_OP_STOP_SET_PREFERENCE, SOLVER_OP_STOP_SET_PROPERTY, Episode::tail, and GNUNET_ATS_TEST_Operation::type.
Referenced by load_episodes().
|
static |
Definition at line 2220 of file gnunet-ats-solver-eval.c.
References Episode::duration, GNUNET_asprintf(), GNUNET_CONFIGURATION_get_value_time(), GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_new, GNUNET_OK, GNUNET_STRINGS_relative_time_to_string(), GNUNET_SYSERR, GNUNET_TIME_relative_add(), GNUNET_YES, Episode::id, load_episode(), Episode::next, Experiment::num_episodes, Experiment::start, and Experiment::total_duration.
Referenced by GNUNET_ATS_solvers_experimentation_load().
|
static |
Definition at line 2277 of file gnunet-ats-solver-eval.c.
References Experiment::e_done_cb, Experiment::episode_timeout_task, Experiment::experiment_timeout_task, GNUNET_SCHEDULER_cancel(), GNUNET_SYSERR, GNUNET_TIME_absolute_get_duration(), and Experiment::start_time.
Referenced by GNUNET_ATS_solvers_experimentation_run().
struct ATS_Address* create_ats_address | ( | const struct GNUNET_PeerIdentity * | peer, |
const char * | plugin_name, | ||
const void * | plugin_addr, | ||
size_t | plugin_addr_len, | ||
uint32_t | session_id, | ||
uint32_t | network | ||
) |
Definition at line 2296 of file gnunet-ats-solver-eval.c.
References ATS_Address::addr, ATS_Address::addr_len, ATS_Address::atsi_count, GNUNET_malloc, GNUNET_memcpy, GNUNET_new, peer, ATS_Address::peer, ATS_Address::plugin, session_id, and ATS_Address::session_id.
Referenced by enforce_add_address().
|
static |
Definition at line 2325 of file gnunet-ats-solver-eval.c.
References TestPeer::addr_head, TestPeer::addr_tail, GNUNET_ATS_TEST_Operation::address, GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::address_network, GNUNET_ATS_TEST_Operation::address_session, SolverHandle::addresses, TestAddress::aid, TestPeer::assigned_bw_in, TestPeer::assigned_bw_out, TestAddress::ats_addr, GNUNET_ATS_SolverFunctions::cls, create_ats_address(), DEFAULT_ABS_PREFERENCE, DEFAULT_REL_PREFERENCE, DEFAULT_REL_QUALITY, find_address_by_id(), find_peer_by_id(), GNUNET_CONTAINER_DLL_insert, GNUNET_CONTAINER_DLL_insert_tail, GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE, GNUNET_CONTAINER_multipeermap_put(), GNUNET_ERROR_TYPE_INFO, GNUNET_log, GNUNET_new, GNUNET_NT_to_string(), TestPeer::id, TestAddress::network, p, TestPeer::peer_id, GNUNET_ATS_TEST_Operation::peer_id, GNUNET_ATS_TEST_Operation::plugin, TestPeer::pref_abs, TestPeer::pref_norm, TestAddress::prop_norm, GNUNET_ATS_SolverFunctions::s_add, and SolverHandle::sf.
Referenced by enforce_episode().
|
static |
Definition at line 2378 of file gnunet-ats-solver-eval.c.
References TestPeer::addr_head, TestPeer::addr_tail, GNUNET_ATS_TEST_Operation::address_id, SolverHandle::addresses, TestAddress::aid, TestAddress::ats_addr, GNUNET_ATS_SolverFunctions::cls, find_address_by_id(), find_peer_by_id(), find_prop_gen(), GNUNET_assert, GNUNET_ATS_solver_generate_property_stop(), GNUNET_ATS_solver_logging_now(), GNUNET_break, GNUNET_CONTAINER_DLL_remove, GNUNET_CONTAINER_multipeermap_remove(), GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_INFO, GNUNET_free, GNUNET_log, GNUNET_YES, TestPeer::id, p, TestPeer::peer_id, GNUNET_ATS_TEST_Operation::peer_id, GNUNET_ATS_SolverFunctions::s_del, and SolverHandle::sf.
Referenced by enforce_episode().
|
static |
Definition at line 2429 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::base_rate, find_address_by_id(), find_peer_by_id(), find_prop_gen(), GNUNET_ATS_TEST_Operation::frequency, GNUNET_ATS_TEST_Operation::gen_type, GNUNET_ATS_solver_generate_property_start(), GNUNET_ATS_solver_generate_property_stop(), GNUNET_break, GNUNET_ERROR_TYPE_ERROR, GNUNET_free, GNUNET_log, GNUNET_ATS_TEST_Operation::max_rate, p, GNUNET_ATS_TEST_Operation::peer_id, and GNUNET_ATS_TEST_Operation::period.
Referenced by enforce_episode().
|
static |
Definition at line 2471 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, find_prop_gen(), GNUNET_ATS_solver_generate_property_stop(), GNUNET_break, GNUNET_ERROR_TYPE_ERROR, GNUNET_ERROR_TYPE_INFO, GNUNET_log, and GNUNET_ATS_TEST_Operation::peer_id.
Referenced by enforce_episode().
|
static |
Definition at line 2495 of file gnunet-ats-solver-eval.c.
References GNUNET_ATS_TEST_Operation::address_id, GNUNET_ATS_TEST_Operation::base_rate, GNUNET_ATS_TEST_Operation::client_id, find_peer_by_id(), find_pref_gen(), GNUNET_ATS_TEST_Operation::frequency, GNUNET_ATS_TEST_Operation::gen_type, GNUNET_ATS_solver_generate_preferences_start(), GNUNET_ATS_solver_generate_preferences_stop(), GNUNET_break, GNUNET_ERROR_TYPE_ERROR, GNUNET_free, GNUNET_log, GNUNET_ATS_TEST_Operation::max_rate, GNUNET_ATS_TEST_Operation::peer_id,