GNUnet  0.11.x
Data Structures | Functions | Variables
testbed_api_underlay.c File Reference

testbed underlay API implementation More...

#include "testbed_api_peers.h"
Include dependency graph for testbed_api_underlay.c:

Go to the source code of this file.

Data Structures

struct  LinkProperty
 An underlay link. More...
 
struct  ListEntry
 Container for holding a peer in whitelist/blacklist. More...
 
struct  GNUNET_TESTBED_UnderlayLinkModel
 Model for configuring underlay links of a peer. More...
 

Functions

struct GNUNET_TESTBED_UnderlayLinkModel free_entries (struct GNUNET_TESTBED_UnderlayLinkModel *model)
 Function to free resources of list entries. More...
 
static void free_link_properties (struct GNUNET_TESTBED_UnderlayLinkModel *model)
 Function to free resources of link properties added to the given model. More...
 
struct GNUNET_TESTBED_UnderlayLinkModelGNUNET_TESTBED_underlaylinkmodel_create (struct GNUNET_TESTBED_Peer *peer, enum GNUNET_TESTBED_UnderlayLinkModelType type)
 Create a GNUNET_TESTBED_UnderlayLinkModel for the given peer. More...
 
void GNUNET_TESTBED_underlaylinkmodel_add_peer (struct GNUNET_TESTBED_UnderlayLinkModel *model, struct GNUNET_TESTBED_Peer *peer)
 Add a peer to the given model. More...
 
void GNUNET_TESTBED_underlaylinkmodel_set_link (struct GNUNET_TESTBED_UnderlayLinkModel *model, struct GNUNET_TESTBED_Peer *peer, uint32_t latency, uint32_t loss, uint32_t bandwidth)
 Set the metrics for a link to the given peer in the underlay model. More...
 
void GNUNET_TESTBED_underlaylinkmodel_free (struct GNUNET_TESTBED_UnderlayLinkModel *model)
 Free the resources of the model. More...
 
void GNUNET_TESTBED_underlaylinkmodel_commit (struct GNUNET_TESTBED_UnderlayLinkModel *model)
 Commit the model. More...
 

Variables

struct GNUNET_TESTBED_Peerpeer
 The peer associated with this model. More...
 
struct ListEntryentries
 List of peers in the list. More...
 
struct LinkPropertyprops
 list of link properties More...
 
enum GNUNET_TESTBED_UnderlayLinkModelType type
 the type of this model More...
 

Detailed Description

testbed underlay API implementation

Author
Sree Harsha Totakura sreeh.nosp@m.arsh.nosp@m.a@tot.nosp@m.akur.nosp@m.a.in

Definition in file testbed_api_underlay.c.

Function Documentation

◆ free_entries()

struct GNUNET_TESTBED_UnderlayLinkModel free_entries ( struct GNUNET_TESTBED_UnderlayLinkModel model)

Function to free resources of list entries.

Parameters
modelthe model

Definition at line 1 of file testbed_api_underlay.c.

114 {
115  struct ListEntry *e;
116 
117  while (NULL != (e = model->entries))
118  {
119  model->entries = e->next;
120  GNUNET_free (e);
121  }
122 }
static struct Experiment * e
#define GNUNET_free(ptr)
Wrapper around free.
struct ListEntry * entries
List of peers in the list.
Container for holding a peer in whitelist/blacklist.

Referenced by GNUNET_TESTBED_underlaylinkmodel_commit(), and GNUNET_TESTBED_underlaylinkmodel_free().

Here is the caller graph for this function:

◆ free_link_properties()

static void free_link_properties ( struct GNUNET_TESTBED_UnderlayLinkModel model)
static

Function to free resources of link properties added to the given model.

Parameters
modelthe model

Definition at line 131 of file testbed_api_underlay.c.

132 {
133  struct LinkProperty *p;
134 
135  while (NULL != (p = model->props))
136  {
137  model->props = p->next;
138  GNUNET_free (p);
139  }
140 }
static struct GNUNET_OS_Process * p
Helper process we started.
Definition: gnunet-qr.c:59
struct LinkProperty * props
list of link properties
An underlay link.

References GNUNET_free, p, and GNUNET_TESTBED_UnderlayLinkModel::props.

Referenced by GNUNET_TESTBED_underlaylinkmodel_commit(), and GNUNET_TESTBED_underlaylinkmodel_free().

Here is the caller graph for this function:

Variable Documentation

◆ peer

struct GNUNET_TESTBED_Peer* peer

The peer associated with this model.

Definition at line 117 of file testbed_api_underlay.c.

Referenced by add_to_list_tunnels(), add_valid_peer(), age_values(), announce_next_regex(), ats_request_address_change(), barrier2_wait_cb(), barrier_wait_cb(), blacklist_cb(), blacklist_cfg_iter(), channel_cleaner(), check_peer_flag(), check_peer_info_ready(), check_peer_known(), check_peer_valid(), clean_peer(), cleanup_prc(), compose_address_iterate_response_message(), confirm_or_drop_neighbour(), connect_bl_check_cont(), connect_handler(), connect_notify(), connect_peer(), connect_peers_run(), consider_for_advertising(), consider_request_for_forwarding(), contains_list_tunnels(), conversation_string_to_value(), core_connect_cb(), core_connects(), core_disconnect_cb(), core_disconnects(), core_peer_connect_cb(), create_address(), create_ats_address(), create_message_miss(), create_or_get_peer_ctx(), create_peer_ctx(), create_peers(), create_session(), CustomPeerMap_contains_peer(), CustomPeerMap_get_index_pointer(), CustomPeerMap_put(), CustomPeerMap_remove_peer(), CustomPeerMap_remove_peer_by_index(), daemon_started(), database_setup(), dht_ca(), dht_connect_cb(), dht_da(), dht_get_id_handler(), disconn_status(), disconnect_handler(), disconnect_notify(), do_collect_stats(), do_round(), do_shutdown(), end_cb(), end_error_cb(), end_operation_cb(), enter_room_at(), find_address_by_id(), find_exact_address(), find_list_tunnels(), find_peer_context(), find_pref_gen(), find_prop_gen(), find_session(), forward_overlay_connect(), free_connect_info(), GAS_addresses_add(), GAS_addresses_destroy(), GAS_addresses_get_peer_info(), GAS_addresses_update(), GAS_connectivity_has_peer(), GAS_performance_notify_all_clients(), GAS_plugin_notify_feedback(), GAS_plugin_notify_preference_changed(), GAS_proportional_start_get_address(), GAS_proportional_stop_get_address(), GAS_reservations_set_bandwidth(), GAS_scheduling_transmit_address_suggestion(), GCP_check_and_update_monotime(), GCP_check_monotime_sig(), GDS_HELLO_get(), gen_topo_scale_free(), get_active_address(), get_all_peers_iterator(), get_all_tunnels_iterator(), get_decrypt_peer_info(), get_index(), get_keygen_peer_info(), get_peer_ctx(), get_peer_idx(), get_pub_key(), get_rand_peer_iterator(), get_room_tunnel(), get_service_peer_identity(), get_session(), get_tunnel_peer_identity(), GNUNET_ATS_connectivity_suggest(), GNUNET_ATS_performance_change_preference(), GNUNET_ATS_performance_give_feedback(), GNUNET_ATS_performance_list_addresses(), GNUNET_ATS_reserve_bandwidth(), GNUNET_ATS_solver_generate_preferences_start(), GNUNET_ATS_solver_generate_property_start(), GNUNET_CADET_get_channel(), GNUNET_FS_TEST_download(), GNUNET_FS_TEST_publish(), GNUNET_FS_uri_loc_get_expiration(), GNUNET_HELLO_address_allocate(), GNUNET_HELLO_get_id(), GNUNET_PEERINFO_add_peer(), GNUNET_PEERINFO_iterate(), GNUNET_PEERSTORE_iterate(), GNUNET_PEERSTORE_store(), GNUNET_PEERSTORE_watch(), GNUNET_SCALARPRODUCT_start_computation(), GNUNET_TESTBED_cleanup_peers_(), GNUNET_TESTBED_get_index(), GNUNET_TESTBED_peer_create(), GNUNET_TESTBED_peer_deregister_(), GNUNET_TESTBED_peer_destroy(), GNUNET_TESTBED_peer_get_information(), GNUNET_TESTBED_peer_manage_service(), GNUNET_TESTBED_peer_register_(), GNUNET_TESTBED_peer_start(), GNUNET_TESTBED_peer_stop(), GNUNET_TESTBED_peer_update_configuration(), GNUNET_TESTBED_service_connect(), GNUNET_TESTBED_underlaylinkmodel_add_peer(), GNUNET_TESTBED_underlaylinkmodel_create(), GNUNET_TESTBED_underlaylinkmodel_set_link(), GNUNET_TESTING_peer_configure(), GNUNET_TESTING_peer_destroy(), GNUNET_TESTING_peer_get_identity(), GNUNET_TESTING_peer_kill(), GNUNET_TESTING_peer_start(), GNUNET_TESTING_peer_stop(), GNUNET_TESTING_peer_stop_async(), GNUNET_TESTING_peer_stop_async_cancel(), GNUNET_TESTING_peer_wait(), GNUNET_TESTING_service_run(), GNUNET_TRANSPORT_application_suggest(), GNUNET_TRANSPORT_communicator_mq_add(), GNUNET_TRANSPORT_core_get_mq(), GNUNET_TRANSPORT_manipulation_set(), GNUNET_TRANSPORT_monitor(), GNUNET_TRANSPORT_monitor_peers(), GNUNET_TRANSPORT_offer_hello(), GNUNET_TRANSPORT_TESTING_find_peer(), GNUNET_VPN_redirect_to_peer(), got_hello(), got_peer(), GSC_SESSIONS_add_to_typemap(), GSC_SESSIONS_confirm_typemap(), GSC_SESSIONS_create(), GSC_SESSIONS_reinit(), GSC_SESSIONS_set_typemap(), GSF_peer_connect_handler(), GSF_peer_disconnect_handler(), GSF_peer_get_(), GSF_push_start_(), GSF_push_stop_(), GST_blacklist_add_peer(), GST_blacklist_test_allowed(), GST_clients_broadcast_disconnect(), GST_clients_broadcast_peer_notification(), GST_destroy_peer(), GST_destroy_peers(), GST_manipulation_manipulate_metrics(), GST_manipulation_peer_disconnect(), GST_neighbour_get_current_address(), GST_neighbours_handle_disconnect_message(), GST_neighbours_handle_quota_message(), GST_neighbours_handle_session_syn(), GST_neighbours_session_terminated(), GST_process_next_focc(), handle_connection_broken(), handle_connection_create_ack(), handle_connection_destroy(), handle_core_connect(), handle_core_disconnect(), handle_dht_p2p_get(), handle_dht_p2p_put(), handle_dht_p2p_result(), handle_estimate(), handle_find_peer(), handle_hello(), handle_local_result(), handle_manage_peer_service(), handle_opsuccess(), handle_overlay_connect(), handle_p2p_put(), handle_peer_check(), handle_peer_config(), handle_peer_create(), handle_peer_create_success(), handle_peer_destroy(), handle_peer_event(), handle_peer_get_config(), handle_peer_pull_request(), handle_peer_push(), handle_peer_reconfigure(), handle_peer_start(), handle_peer_stop(), handle_remote_overlay_connect(), handle_transport_notify_disconnect(), handle_tunnel_encrypted(), handle_tunnel_kx(), handle_tunnel_kx_auth(), host_processor(), incoming_channel(), init_peer_cb(), insert_in_pull_map(), insert_in_sampler(), insert_in_view(), insert_in_view_op(), insert_peer(), issue_peer_online_check(), iterator_cb(), load_list_tunnels(), lookup_queue(), lookup_session(), make_peer(), monitor_cb(), monitor_notify_connect(), monitor_notify_disconnect(), mq_init(), my_nc(), my_nd(), neighbour_find(), neighbours_changed_notification(), new_peer_entry(), notify_client(), notify_client_about_neighbour(), notify_connect(), notify_disconnect(), notify_monitor(), notify_monitors(), on_message(), on_peer(), oprelease_get_stats(), opstart_get_stats(), opstart_peer_destroy(), opstart_peer_start(), opstart_peer_stop(), peer_connect_notify_cb(), peer_create_cb(), peer_list_add(), peer_list_remove(), peerinfo_cb(), peerinfo_list_iteration(), PEERSTORE_create_record_mq_envelope(), peerstore_flat_delete_records(), peerstore_flat_iterate_records(), peerstore_flat_store_record(), PEERSTORE_hash_key(), peerstore_sqlite_delete_records(), peerstore_sqlite_iterate_records(), peerstore_sqlite_store_record(), ping(), prc_stop_cb(), print_my_uri(), print_peer_info(), process_hello(), process_peer(), process_peer_iteration_cb(), process_peer_monitoring_cb(), process_peerinfo_hello(), process_peerinfo_peers(), process_stats(), rebuild_room_basement_structure(), recv_message_info(), recv_message_peer(), regex_found_handler(), rem_from_list(), remove_peer(), reschedule_hellos(), reservations_reserve(), restore_valid_peers(), rps_disconnect_adapter(), run(), s2i_full(), second_stage(), select_random_peer(), send_peer_information(), set_peer_online(), setup_filter(), setup_neighbour(), show_end_data(), shutdown_cb(), start_peer(), start_peers_task(), stat_comp_cb(), stat_connect_adapter(), stat_disconnect_adapter(), statistics_cb(), stats_cb(), stats_connect_cb(), stats_da(), stats_iterator(), stop_peer(), store_and_free_entries(), store_peer_presistently_iterator(), switch_address_bl_check_cont(), test_connection_ok(), testing_main(), tmt_rdy_ping(), transmit_our_hello(), transmit_suggestion(), transport_peer_connect_notify_cb(), udp_plugin_update_session_timeout(), update_active_address(), update_hello(), update_peer_config(), update_preference(), update_rel_sum(), valid_peer_iterator(), valid_peers_iterator(), View_contains_peer(), View_put(), View_remove_peer(), and warmup().

◆ entries

struct ListEntry* entries

◆ props

struct LinkProperty* props

list of link properties

Definition at line 127 of file testbed_api_underlay.c.

◆ type

the type of this model

Definition at line 127 of file testbed_api_underlay.c.

Referenced by abd_number_to_typename(), abd_string_to_value(), abd_value_to_string(), add_record(), add_setter_action(), add_to_meta_counter(), analyze_send_error(), attr_collect(), auto_config_cb(), basic_number_to_typename(), basic_string_to_value(), basic_value_to_string(), block_plugin_consensus_evaluate(), block_plugin_dht_create_group(), block_plugin_dht_get_key(), block_plugin_dns_create_group(), block_plugin_fs_create_group(), block_plugin_fs_get_key(), block_plugin_gns_create_group(), block_plugin_gns_get_key(), block_plugin_regex_create_group(), block_plugin_regex_get_key(), block_plugin_revocation_create_group(), block_plugin_template_create_group(), block_plugin_test_create_group(), block_proc(), cadet_reply_proc(), callback_store_operation(), change_service(), check_p2p_put(), child_death_task(), client_response_handler(), conversation_number_to_typename(), conversation_string_to_value(), conversation_value_to_string(), cred_collect(), datacache_get_iterator(), datacache_get_successors_iterator(), dns_number_to_typename(), dns_string_to_value(), dns_value_to_string(), gnunet-chk::encode_data_to_string(), execute_get(), execute_select(), expi_proc(), expired_processor(), extract_result_cb(), find_full_data(), find_plugin(), gather_uri_data(), GDS_CLIENTS_handle_reply(), GDS_CLIENTS_process_get(), GDS_CLIENTS_process_get_resp(), GDS_CLIENTS_process_put(), GDS_DATACACHE_handle_put(), GDS_NEIGHBOURS_handle_get(), GDS_NEIGHBOURS_handle_put(), GDS_NEIGHBOURS_handle_reply(), GDS_ROUTING_add(), GDS_ROUTING_process(), get_app(), get_audiobin(), get_callback(), get_cb(), get_coder(), get_resp_callback(), get_result_iterator(), get_type(), gns_number_to_typename(), gns_string_to_value(), gns_value_to_string(), GNUNET_ATS_print_preference_type(), GNUNET_ATS_solver_generate_preferences_start(), GNUNET_ATS_solver_generate_property_start(), GNUNET_ATS_solvers_solver_start(), GNUNET_BLOCK_evaluate(), GNUNET_BLOCK_get_key(), GNUNET_BLOCK_GROUP_bf_create(), GNUNET_CADET_drop_message(), GNUNET_CONTAINER_meta_data_delete(), GNUNET_CONTAINER_meta_data_get_by_type(), GNUNET_CONTAINER_meta_data_get_first_by_types(), GNUNET_CONTAINER_meta_data_insert(), GNUNET_DATACACHE_get(), GNUNET_DATACACHE_put(), GNUNET_DATASTORE_get_key(), GNUNET_DATASTORE_get_zero_anonymity(), GNUNET_DATASTORE_put(), GNUNET_DHT_get_start(), GNUNET_DHT_monitor_start(), GNUNET_DHT_put(), GNUNET_FS_GETOPT_METADATA(), GNUNET_GNS_lookup(), GNUNET_GNS_lookup_limited(), GNUNET_GNS_lookup_with_tld(), GNUNET_GNSRECORD_number_to_typename(), GNUNET_GNSRECORD_string_to_value(), GNUNET_GNSRECORD_value_to_string(), GNUNET_MQ_msg_(), GNUNET_MQ_msg_nested_mh_(), GNUNET_MQ_preference_to_string(), GNUNET_NETWORK_socket_create(), GNUNET_OS_process_status(), GNUNET_OS_process_wait_status(), GNUNET_RECLAIM_attribute_list_add(), GNUNET_RECLAIM_attribute_new(), GNUNET_RECLAIM_attribute_number_to_typename(), GNUNET_RECLAIM_attribute_string_to_value(), GNUNET_RECLAIM_attribute_value_to_string(), GNUNET_RECLAIM_credential_new(), GNUNET_RECLAIM_credential_number_to_typename(), GNUNET_RECLAIM_credential_string_to_value(), GNUNET_RECLAIM_credential_value_to_string(), GNUNET_RECLAIM_presentation_new(), GNUNET_RECLAIM_presentation_number_to_typename(), GNUNET_RECLAIM_presentation_string_to_value(), GNUNET_RECLAIM_presentation_value_to_string(), GNUNET_SERVER_inject(), GNUNET_TESTBED_forward_operation_msg_(), GNUNET_TESTBED_operation_queue_create_(), GNUNET_TESTBED_queue_message_(), GNUNET_TESTBED_underlaylinkmodel_create(), GSC_SESSIONS_add_to_typemap(), GSF_cadet_query(), GSF_pending_request_create_(), habitability_check(), handle_auto_result(), handle_client_accept(), handle_client_start_search(), handle_datastore_reply(), handle_dht_p2p_get(), handle_dht_p2p_result(), handle_dht_reply(), handle_dht_response(), handle_get_zero_anonymity(), handle_local_data(), handle_local_result(), handle_p2p_put(), handle_p2p_reply(), handle_reply(), handle_result(), handle_results(), handle_tcp_data(), heap_plugin_get(), heap_plugin_get_closest(), heap_plugin_get_key(), heap_plugin_get_zero_anonymity(), heap_plugin_put(), http_common_dns_ip_lookup(), http_common_dns_reverse_lookup(), http_common_plugin_address_pretty_printer(), initialize_network_handle(), insert_pending_message(), item_printer(), iter_finished(), jwt_number_to_typename(), jwt_string_to_value(), jwt_value_to_string(), load_op_start_set_preference(), load_op_start_set_property(), load_quota(), main(), maint_child_death(), match_full_data(), merge_helper(), meta_printer(), mysql_plugin_get_key(), mysql_plugin_get_zero_anonymity(), mysql_plugin_put(), number_to_typename(), pabc_number_to_typename(), pabc_string_to_value(), pabc_value_to_string(), pack(), parse_attr(), parse_credential(), parse_jwt(), postgres_plugin_get(), postgres_plugin_get_key(), postgres_plugin_get_random(), postgres_plugin_get_zero_anonymity(), postgres_plugin_put(), process_dht_put_content(), process_kblock_for_unindex(), process_local_reply(), process_migration_content(), process_reply_with_path(), process_status(), put_callback(), quota_processor(), refresh_bloomfilter(), repl_proc(), resolve_and_cache(), run(), send_message(), sqlite_plugin_get(), sqlite_plugin_get_closest(), sqlite_plugin_get_key(), sqlite_plugin_get_random(), sqlite_plugin_get_zero_anonymity(), sqlite_plugin_put(), start_operation(), string_to_value(), stun_get_mapped(), submit_request(), transmit_item(), try_handle_plaintext(), try_transmission(), type_match(), unindex_process(), union_accept(), use_store_operation(), value_to_string(), wlan_plugin_send(), and work_test().