A neighbour that at least one communicator is connected to. More...
Data Fields | |
struct GNUNET_PeerIdentity | pid |
Which peer is this about? More... | |
struct DistanceVectorHop * | dv_head |
Head of MDLL of DV hops that have this neighbour as next hop. More... | |
struct DistanceVectorHop * | dv_tail |
Tail of MDLL of DV hops that have this neighbour as next hop. More... | |
struct Queue * | queue_head |
Head of DLL of queues to this peer. More... | |
struct Queue * | queue_tail |
Tail of DLL of queues to this peer. More... | |
struct GNUNET_PEERSTORE_IterateContext * | get |
Handle for an operation to fetch last_dv_learn_monotime information from the PEERSTORE, or NULL. More... | |
struct GNUNET_PEERSTORE_StoreContext * | sc |
Handle to a PEERSTORE store operation to store this pid's last_dv_learn_monotime. More... | |
struct VirtualLink * | vl |
Do we have a confirmed working queue and are thus visible to CORE? If so, this is the virtual link, otherwise NULL. More... | |
struct GNUNET_TIME_Absolute | last_dv_learn_monotime |
Latest DVLearn monotonic time seen from this peer. More... | |
int | dv_monotime_available |
Do we have the latest value for last_dv_learn_monotime from PEERSTORE yet, or are we still waiting for a reply of PEERSTORE? More... | |
struct GNUNET_CONTAINER_MultiPeerMap * | natted_addresses |
Map of struct TransportGlobalNattedAddress for this neighbour. More... | |
unsigned int | number_of_addresses |
Number of global natted addresses for this neighbour. More... | |
size_t | size_of_global_addresses |
Size of all global natted addresses for this neighbour. More... | |
enum GNUNET_GenericReturnValue | is_global_natted |
A queue of this neighbour has a global natted address. More... | |
struct GNUNET_PeerIdentity | id |
Identity of this neighbour. More... | |
struct GNUNET_TRANSPORT_CoreHandle * | h |
Overall transport handle. More... | |
struct GNUNET_MQ_Handle * | mq |
Active message queue for the peer. More... | |
struct GNUNET_MQ_Envelope * | env |
Envelope with the message we are currently transmitting (or NULL). More... | |
void * | handlers_cls |
Closure for mq handlers. More... | |
unsigned int | ready_window |
How many messages can we still send to this peer before we should throttle? More... | |
int16_t | awaiting_done |
Used to indicate our status if env is non-NULL. More... | |
uint16_t | env_size |
Size of the message in env. More... | |
A neighbour that at least one communicator is connected to.
Entry in hash table of all of our current (connected) neighbours.
Definition at line 2059 of file gnunet-service-transport.c.
struct GNUNET_PeerIdentity Neighbour::pid |
Which peer is this about?
Definition at line 2064 of file gnunet-service-transport.c.
Referenced by check_for_global_natted(), check_vl_transmission(), extract_box_cb(), forward_dv_box(), free_neighbour(), free_queue(), handle_add_queue_message(), handle_del_queue_message(), handle_validation_response(), learn_dv_path(), queue_send_msg(), and transmit_on_queue().
struct DistanceVectorHop* Neighbour::dv_head |
Head of MDLL of DV hops that have this neighbour as next hop.
Must be purged if this neighbour goes down.
Definition at line 2070 of file gnunet-service-transport.c.
Referenced by free_distance_vector_hop(), free_neighbour(), learn_dv_path(), and transmit_on_queue().
struct DistanceVectorHop* Neighbour::dv_tail |
Tail of MDLL of DV hops that have this neighbour as next hop.
Must be purged if this neighbour goes down.
Definition at line 2076 of file gnunet-service-transport.c.
Referenced by free_distance_vector_hop(), and learn_dv_path().
struct Queue* Neighbour::queue_head |
Head of DLL of queues to this peer.
Definition at line 2081 of file gnunet-service-transport.c.
Referenced by check_connection_quality(), check_link_down(), check_vl_transmission(), find_queue(), free_neighbour(), free_queue(), handle_add_queue_message(), handle_flow_control(), handle_validation_challenge(), learn_dv_path(), and notify_client_queues().
struct Queue* Neighbour::queue_tail |
Tail of DLL of queues to this peer.
Definition at line 2086 of file gnunet-service-transport.c.
Referenced by free_queue(), and handle_add_queue_message().
struct GNUNET_PEERSTORE_IterateContext* Neighbour::get |
Handle for an operation to fetch last_dv_learn_monotime information from the PEERSTORE, or NULL.
Definition at line 2092 of file gnunet-service-transport.c.
Referenced by free_neighbour(), handle_add_queue_message(), and neighbour_dv_monotime_cb().
struct GNUNET_PEERSTORE_StoreContext* Neighbour::sc |
Handle to a PEERSTORE store operation to store this pid's last_dv_learn_monotime.
NULL if no PEERSTORE operation is pending.
Definition at line 2098 of file gnunet-service-transport.c.
Referenced by free_neighbour(), handle_dv_learn(), and neighbour_store_dvmono_cb().
struct VirtualLink* Neighbour::vl |
Do we have a confirmed working queue and are thus visible to CORE? If so, this is the virtual link, otherwise NULL.
Definition at line 2104 of file gnunet-service-transport.c.
Referenced by check_link_down(), check_vl_transmission(), consider_sending_fc(), forward_dv_box(), free_neighbour(), handle_validation_response(), and transmit_on_queue().
struct GNUNET_TIME_Absolute Neighbour::last_dv_learn_monotime |
Latest DVLearn monotonic time seen from this peer.
Initialized only if dl_monotime_available is GNUNET_YES.
Definition at line 2110 of file gnunet-service-transport.c.
Referenced by handle_dv_learn(), and neighbour_dv_monotime_cb().
int Neighbour::dv_monotime_available |
Do we have the latest value for last_dv_learn_monotime from PEERSTORE yet, or are we still waiting for a reply of PEERSTORE?
Definition at line 2116 of file gnunet-service-transport.c.
Referenced by handle_dv_learn(), and neighbour_dv_monotime_cb().
struct GNUNET_CONTAINER_MultiPeerMap* Neighbour::natted_addresses |
Map of struct TransportGlobalNattedAddress for this neighbour.
Definition at line 2121 of file gnunet-service-transport.c.
Referenced by check_for_global_natted(), free_neighbour(), and handle_add_queue_message().
unsigned int Neighbour::number_of_addresses |
Number of global natted addresses for this neighbour.
Definition at line 2126 of file gnunet-service-transport.c.
Referenced by check_for_global_natted(), and consider_sending_fc().
size_t Neighbour::size_of_global_addresses |
Size of all global natted addresses for this neighbour.
Definition at line 2131 of file gnunet-service-transport.c.
Referenced by check_for_global_natted().
enum GNUNET_GenericReturnValue Neighbour::is_global_natted |
A queue of this neighbour has a global natted address.
Definition at line 2136 of file gnunet-service-transport.c.
struct GNUNET_PeerIdentity Neighbour::id |
Identity of this neighbour.
Definition at line 60 of file transport_api2_core.c.
Referenced by do_send(), handle_connect(), mq_send_impl(), neighbour_delete(), and peer_mq_error_handler().
struct GNUNET_TRANSPORT_CoreHandle* Neighbour::h |
Overall transport handle.
Definition at line 65 of file transport_api2_core.c.
Referenced by do_send(), handle_connect(), and peer_mq_error_handler().
struct GNUNET_MQ_Handle* Neighbour::mq |
Active message queue for the peer.
Definition at line 70 of file transport_api2_core.c.
Referenced by GNUNET_TRANSPORT_core_get_mq(), handle_connect(), handle_recv(), handle_send_ok(), mq_destroy_impl(), neighbour_delete(), and notify_send_done().
struct GNUNET_MQ_Envelope* Neighbour::env |
Envelope with the message we are currently transmitting (or NULL).
Definition at line 75 of file transport_api2_core.c.
Referenced by httpdomain.httpdomain.HTTPResource::add_target_and_index(), do_send(), handle_send_ok(), mq_cancel_impl(), mq_send_impl(), neighbour_delete(), notify_send_done(), and typescriptdomain.TypeScriptDefinition::run().
void* Neighbour::handlers_cls |
Closure for mq handlers.
Definition at line 80 of file transport_api2_core.c.
Referenced by handle_connect(), and neighbour_delete().
unsigned int Neighbour::ready_window |
How many messages can we still send to this peer before we should throttle?
Definition at line 86 of file transport_api2_core.c.
Referenced by do_send(), handle_connect(), handle_send_ok(), mq_cancel_impl(), mq_send_impl(), and notify_send_done().
int16_t Neighbour::awaiting_done |
Used to indicate our status if env is non-NULL.
Set to GNUNET_YES if we did pass a message to the MQ and are waiting for the call to notify_send_done(). Set to GNUNET_NO if the ready_window is 0 and env is waiting for a GNUNET_MESSAGE_TYPE_TRANSPORT_RECV_OK?
Definition at line 95 of file transport_api2_core.c.
Referenced by do_send(), handle_send_ok(), mq_cancel_impl(), and notify_send_done().
uint16_t Neighbour::env_size |
Size of the message in env.
Definition at line 100 of file transport_api2_core.c.
Referenced by mq_send_impl().