GNUnet  0.11.x
Data Fields
GNUNET_HELLO_Address Struct Reference

An address for communicating with a peer. More...

#include <gnunet_hello_lib.h>

Collaboration diagram for GNUNET_HELLO_Address:
[legend]

Data Fields

struct GNUNET_PeerIdentity peer
 For which peer is this an address? More...
 
const char * transport_name
 Name of the transport plugin enabling the communication using this address. More...
 
const void * address
 Binary representation of the address (plugin-specific). More...
 
size_t address_length
 Number of bytes in address. More...
 
enum GNUNET_HELLO_AddressInfo local_info
 Extended information about address. More...
 

Detailed Description

An address for communicating with a peer.

We frequently need this tuple and the components cannot really be separated. This is NOT the format that would be used on the wire.

Definition at line 89 of file gnunet_hello_lib.h.

Field Documentation

◆ peer

struct GNUNET_PeerIdentity GNUNET_HELLO_Address::peer

For which peer is this an address?

Definition at line 94 of file gnunet_hello_lib.h.

Referenced by addr_info_cb(), ats_perf_mon_cb(), ats_performance_info_cb(), cleanup_validation_entry(), client_connect(), client_delete_session(), client_receive(), client_receive_mst_cb(), client_run(), client_send_cb(), create_session(), destroy_ai(), find_ai(), find_ai_no_session(), find_session(), find_session_id(), find_validation_entry(), GNUNET_ATS_address_destroy(), GNUNET_ATS_address_update(), GNUNET_HELLO_address_allocate(), GNUNET_HELLO_address_copy(), GNUNET_HELLO_iterate_addresses(), GNUNET_TRANSPORT_address_to_string(), GST_ats_add_address(), GST_ats_add_inbound_address(), GST_ats_block_address(), GST_ats_block_reset(), GST_ats_del_session(), GST_ats_expire_address(), GST_ats_new_session(), GST_ats_update_delay(), GST_ats_update_distance(), GST_ats_update_utilization(), GST_manipulation_manipulate_metrics(), GST_manipulation_recv(), GST_neighbours_handle_session_ack(), GST_neighbours_handle_session_syn_ack(), GST_neighbours_notify_data_recv(), GST_neighbours_notify_data_sent(), GST_neighbours_switch_to_address(), GST_receive_callback(), GST_validation_handle_address(), GST_validation_handle_ping(), GST_validation_handle_pong(), handle_address_list(), handle_ats_address_suggestion(), handle_event(), handle_peer_information(), http_client_plugin_get_session(), http_client_plugin_send(), lookup_session(), operation_timeout(), plugin_env_session_end(), plugin_env_session_start(), plugin_monitoring_cb(), plugin_session_info_cb(), print_plugin_event_info(), process_peer_string(), revalidate_address(), send_add_address_message(), send_syn(), send_syn_ack_message(), set_alternative_address(), switch_address_bl_check_cont(), tcp_plugin_get_session(), timeout_hello_validation(), transport_addr_to_str_cb(), try_run_fast_ats_update(), udp_plugin_create_session(), udp_plugin_lookup_session(), unblock_address(), unix_plugin_get_session(), update_latencies(), and wlan_plugin_get_session().

◆ transport_name

const char* GNUNET_HELLO_Address::transport_name

◆ address

const void* GNUNET_HELLO_Address::address

◆ address_length

size_t GNUNET_HELLO_Address::address_length

Number of bytes in address.

Definition at line 110 of file gnunet_hello_lib.h.

Referenced by ack_proc(), add_address_to_hello(), add_address_to_uri(), add_valid_address(), client_connect(), client_receive_mst_cb(), compose_address_iterate_response_message(), create_session(), dequeue(), disconnect_notify(), do_transmit(), enqueue(), enqueue_fragment(), fragmented_message_done(), GNUNET_ATS_address_add(), GNUNET_HELLO_add_address(), GNUNET_HELLO_address_allocate(), GNUNET_HELLO_address_cmp(), GNUNET_HELLO_address_copy(), GNUNET_HELLO_iterate_addresses(), GNUNET_TRANSPORT_address_to_string(), GST_plugins_a2s(), GST_validation_handle_ping(), GST_validation_handle_pong(), handle_address_list(), handle_event(), handle_peer_information(), handle_tcp_welcome(), http_client_plugin_get_session(), http_common_get_network_for_address(), libgnunet_plugin_transport_http_server_done(), nat_connect_timeout(), plugin_session_info_cb(), print_address(), process_peer_string(), read_process_ack(), send_add_address_message(), server_access_cb(), server_receive_mst_cb(), tcp_plugin_disconnect_session(), tcp_plugin_get_network_for_address(), tcp_plugin_get_session(), transport_addr_to_str_cb(), try_transmission_to_peer(), udp_disconnect_session(), udp_plugin_create_session(), udp_plugin_get_network_for_address(), udp_plugin_get_session(), udp_plugin_lookup_session(), udp_plugin_send(), udp_select_send(), unix_plugin_do_write(), unix_plugin_get_session(), unix_plugin_send(), unix_plugin_session_disconnect(), and wlan_plugin_get_session().

◆ local_info

enum GNUNET_HELLO_AddressInfo GNUNET_HELLO_Address::local_info

Extended information about address.

This field contains additional GNUNET_HELLO_AddressInfo flags e.g. to indicate an address is inbound and cannot be used to initiate an outbound connection.

These information are only valid for the local peer and are not serialized when a GNUNET_HELLO_Message is created

Definition at line 122 of file gnunet_hello_lib.h.

Referenced by compose_address_iterate_response_message(), GNUNET_HELLO_address_allocate(), GNUNET_HELLO_address_check_option(), GNUNET_HELLO_address_cmp(), GNUNET_HELLO_address_copy(), GNUNET_HELLO_iterate_addresses(), GST_validation_handle_ping(), GST_validation_handle_pong(), handle_event(), handle_peer_information(), print_address(), and send_add_address_message().


The documentation for this struct was generated from the following file: