A connected controller which is not our child. More...
Data Fields | |
struct GNUNET_TESTBED_Controller * | controller |
The controller handle. More... | |
struct GNUNET_TESTBED_Operation * | conn_op |
Operation handle for opening a lateral connection to another controller. More... | |
struct NeighbourConnectNotification * | nl_head |
DLL head for the list of notification requests. More... | |
struct NeighbourConnectNotification * | nl_tail |
DLL tail for the list of notification requests. More... | |
struct GNUNET_SCHEDULER_Task * | notify_task |
Task id for the task to call notifications from the notification list. More... | |
unsigned int | reference_cnt |
How many references are present currently to this neighbour's connection. More... | |
unsigned int | inactive |
Is the conn_op inactivated? More... | |
uint32_t | host_id |
The id of the host this controller is running on. More... | |
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_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... | |
struct GNUNET_BANDWIDTH_Tracker | out_tracker |
Outbound bandwidh tracker. More... | |
struct GNUNET_CONTAINER_HeapNode * | hn |
Entry in our readiness heap (which is sorted by next_ready value). More... | |
struct GNUNET_SCHEDULER_Task * | timeout_task |
Task to trigger MQ when we have enough bandwidth for the next transmission. More... | |
unsigned long long | traffic_overhead |
Sending consumed more bytes on wire than payload was announced This overhead is added to the delay of next sending operation. More... | |
int | is_ready |
Is this peer currently ready to receive a message? More... | |
A connected controller which is not our child.
Entry in hash table of all of our current (connected) neighbours.
A neighbour that at least one communicator is connected to.
Definition at line 171 of file gnunet-service-testbed_links.c.
struct GNUNET_TESTBED_Controller* Neighbour::controller |
The controller handle.
Definition at line 176 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection(), neighbour_connect_notify_task(), oprelease_neighbour_conn(), opstart_neighbour_conn(), and trigger_notifications().
struct GNUNET_TESTBED_Operation* Neighbour::conn_op |
Operation handle for opening a lateral connection to another controller.
Will be NULL if the slave controller is started by this controller
Definition at line 182 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection(), GST_neighbour_get_connection_cancel(), GST_neighbour_list_clean(), GST_neighbour_release_connection(), oprelease_neighbour_conn(), opstart_neighbour_conn(), and trigger_notifications().
struct NeighbourConnectNotification* Neighbour::nl_head |
DLL head for the list of notification requests.
Definition at line 187 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection(), GST_neighbour_get_connection_cancel(), neighbour_connect_notify_task(), oprelease_neighbour_conn(), and trigger_notifications().
struct NeighbourConnectNotification* Neighbour::nl_tail |
DLL tail for the list of notification requests.
Definition at line 192 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection(), GST_neighbour_get_connection_cancel(), and neighbour_connect_notify_task().
struct GNUNET_SCHEDULER_Task* Neighbour::notify_task |
Task id for the task to call notifications from the notification list.
Definition at line 197 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection_cancel(), neighbour_connect_notify_task(), oprelease_neighbour_conn(), and trigger_notifications().
unsigned int Neighbour::reference_cnt |
How many references are present currently to this neighbour's connection.
Definition at line 202 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection_cancel(), GST_neighbour_release_connection(), oprelease_neighbour_conn(), and trigger_notifications().
unsigned int Neighbour::inactive |
Is the conn_op inactivated?
Definition at line 207 of file gnunet-service-testbed_links.c.
Referenced by GST_neighbour_get_connection_cancel(), GST_neighbour_release_connection(), oprelease_neighbour_conn(), and trigger_notifications().
uint32_t Neighbour::host_id |
The id of the host this controller is running on.
Definition at line 212 of file gnunet-service-testbed_links.c.
Referenced by GST_create_neighbour(), GST_neighbour_get_connection(), neighbour_list_add(), oprelease_neighbour_conn(), and opstart_neighbour_conn().
struct GNUNET_PeerIdentity Neighbour::pid |
Which peer is this about?
Definition at line 1962 of file gnunet-service-tng.c.
Referenced by check_vl_transmission(), extract_box_cb(), forward_dv_box(), free_neighbour(), free_queue(), handle_add_queue_message(), handle_del_queue_message(), handle_validation_response(), 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 1980 of file gnunet-service-tng.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 1986 of file gnunet-service-tng.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 1991 of file gnunet-service-tng.c.
Referenced by check_connection_quality(), check_link_down(), check_vl_transmission(), find_queue(), free_neighbour(), free_queue(), handle_add_queue_message(), handle_validation_challenge(), and notify_client_queues().
struct Queue* Neighbour::queue_tail |
Tail of DLL of queues to this peer.
Definition at line 1996 of file gnunet-service-tng.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 2002 of file gnunet-service-tng.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 2008 of file gnunet-service-tng.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 2014 of file gnunet-service-tng.c.
Referenced by check_link_down(), check_vl_transmission(), 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 2014 of file gnunet-service-tng.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 2026 of file gnunet-service-tng.c.
Referenced by handle_dv_learn(), and neighbour_dv_monotime_cb().
struct GNUNET_PeerIdentity Neighbour::id |
Identity of this neighbour.
Definition at line 687 of file transport_api2_core.c.
Referenced by do_send(), handle_connect(), mq_send_impl(), neighbour_delete(), notify_excess_cb(), and gnunet_testing.Peer::start().
struct GNUNET_TRANSPORT_CoreHandle * Neighbour::h |
Overall transport handle.
Definition at line 66 of file transport_api2_core.c.
Referenced by do_send(), handle_connect(), mq_send_impl(), and notify_excess_cb().
struct GNUNET_MQ_Handle * Neighbour::mq |
Active message queue for the peer.
Definition at line 71 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(), notify_send_done(), and notify_send_done_fin().
struct GNUNET_MQ_Envelope * Neighbour::env |
Envelope with the message we are currently transmitting (or NULL).
Definition at line 76 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 81 of file transport_api2_core.c.
Referenced by handle_connect(), neighbour_delete(), and notify_excess_cb().
unsigned int Neighbour::ready_window |
How many messages can we still send to this peer before we should throttle?
Definition at line 87 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 96 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 101 of file transport_api2_core.c.
Referenced by mq_send_impl(), and notify_send_done().
struct GNUNET_BANDWIDTH_Tracker Neighbour::out_tracker |
Outbound bandwidh tracker.
Definition at line 72 of file transport_api_core.c.
Referenced by handle_connect(), handle_set_quota(), neighbour_delete(), notify_send_done(), and outbound_bw_tracker_update().
struct GNUNET_CONTAINER_HeapNode* Neighbour::hn |
Entry in our readiness heap (which is sorted by next_ready value).
NULL if there is no pending transmission request for this neighbour or if we're waiting for is_ready to become true AFTER the out_tracker suggested that this peer's quota has been satisfied (so once is_ready goes to GNUNET_YES, we should immediately go back into the heap).
Definition at line 92 of file transport_api_core.c.
struct GNUNET_SCHEDULER_Task* Neighbour::timeout_task |
Task to trigger MQ when we have enough bandwidth for the next transmission.
Definition at line 98 of file transport_api_core.c.
Referenced by mq_send_impl(), neighbour_delete(), notify_send_done(), notify_send_done_fin(), and outbound_bw_tracker_update().
unsigned long long Neighbour::traffic_overhead |
Sending consumed more bytes on wire than payload was announced This overhead is added to the delay of next sending operation.
Definition at line 104 of file transport_api_core.c.
Referenced by handle_connect(), handle_send_ok(), and notify_send_done().
int Neighbour::is_ready |
Is this peer currently ready to receive a message?
Definition at line 109 of file transport_api_core.c.
Referenced by handle_connect(), mq_cancel_impl(), mq_send_impl(), notify_send_done(), and notify_send_done_fin().