GNUnet 0.21.2
DistanceVectorHop Struct Reference

One possible hop towards a DV target. More...

Collaboration diagram for DistanceVectorHop:
[legend]

Data Fields

struct DistanceVectorHopnext_dv
 Kept in a MDLL, sorted by timeout. More...
 
struct DistanceVectorHopprev_dv
 Kept in a MDLL, sorted by timeout. More...
 
struct DistanceVectorHopnext_neighbour
 Kept in a MDLL. More...
 
struct DistanceVectorHopprev_neighbour
 Kept in a MDLL. More...
 
struct PendingAcknowledgementpa_head
 Head of DLL of PAs that used our path. More...
 
struct PendingAcknowledgementpa_tail
 Tail of DLL of PAs that used our path. More...
 
struct Neighbournext_hop
 What would be the next hop to target? More...
 
struct DistanceVectordv
 Distance vector entry this hop belongs with. More...
 
const struct GNUNET_PeerIdentitypath
 Array of distance hops to the target, excluding next_hop. More...
 
struct GNUNET_TIME_Absolute timeout
 At what time do we forget about this path unless we see it again while learning? More...
 
struct GNUNET_TIME_Absolute path_valid_until
 For how long is the validation of this path considered valid? Set to ZERO if the path is learned by snooping on DV learn messages initiated by other peers, and to the time at which we generated the challenge for DV learn operations this peer initiated. More...
 
struct PerformanceData pd
 Performance data for this transmission possibility. More...
 
unsigned int distance
 Number of hops in total to the target (excluding next_hop and target itself). More...
 

Detailed Description

One possible hop towards a DV target.

Definition at line 1678 of file gnunet-service-transport.c.

Field Documentation

◆ next_dv

struct DistanceVectorHop* DistanceVectorHop::next_dv

Kept in a MDLL, sorted by timeout.

Definition at line 1683 of file gnunet-service-transport.c.

Referenced by check_link_down(), check_vl_transmission(), learn_dv_path(), and pick_random_dv_hops().

◆ prev_dv

struct DistanceVectorHop* DistanceVectorHop::prev_dv

Kept in a MDLL, sorted by timeout.

Definition at line 1688 of file gnunet-service-transport.c.

◆ next_neighbour

struct DistanceVectorHop* DistanceVectorHop::next_neighbour

Kept in a MDLL.

Definition at line 1693 of file gnunet-service-transport.c.

Referenced by transmit_on_queue().

◆ prev_neighbour

struct DistanceVectorHop* DistanceVectorHop::prev_neighbour

Kept in a MDLL.

Definition at line 1698 of file gnunet-service-transport.c.

◆ pa_head

struct PendingAcknowledgement* DistanceVectorHop::pa_head

Head of DLL of PAs that used our path.

Definition at line 1703 of file gnunet-service-transport.c.

Referenced by free_distance_vector_hop(), free_pending_acknowledgement(), and prepare_pending_acknowledgement().

◆ pa_tail

struct PendingAcknowledgement* DistanceVectorHop::pa_tail

Tail of DLL of PAs that used our path.

Definition at line 1708 of file gnunet-service-transport.c.

Referenced by free_distance_vector_hop(), free_pending_acknowledgement(), and prepare_pending_acknowledgement().

◆ next_hop

struct Neighbour* DistanceVectorHop::next_hop

What would be the next hop to target?

Definition at line 1713 of file gnunet-service-transport.c.

Referenced by encapsulate_for_dv(), free_distance_vector_hop(), and learn_dv_path().

◆ dv

struct DistanceVector* DistanceVectorHop::dv

◆ path

const struct GNUNET_PeerIdentity* DistanceVectorHop::path

Array of distance hops to the target, excluding next_hop.

NULL if the entire path is us to next_hop to target. Allocated at the end of this struct. Excludes the target itself!

Definition at line 1725 of file gnunet-service-transport.c.

Referenced by typescriptdomain.MyPygmentsBridge::__init__(), encapsulate_for_dv(), typescriptdomain.MyPygmentsBridge::highlight_block(), and learn_dv_path().

◆ timeout

struct GNUNET_TIME_Absolute DistanceVectorHop::timeout

At what time do we forget about this path unless we see it again while learning?

Definition at line 1731 of file gnunet-service-transport.c.

Referenced by learn_dv_path(), and path_cleanup_cb().

◆ path_valid_until

struct GNUNET_TIME_Absolute DistanceVectorHop::path_valid_until

For how long is the validation of this path considered valid? Set to ZERO if the path is learned by snooping on DV learn messages initiated by other peers, and to the time at which we generated the challenge for DV learn operations this peer initiated.

Definition at line 1740 of file gnunet-service-transport.c.

Referenced by activate_core_visible_dv_path(), and learn_dv_path().

◆ pd

struct PerformanceData DistanceVectorHop::pd

Performance data for this transmission possibility.

Definition at line 1745 of file gnunet-service-transport.c.

Referenced by encapsulate_for_dv(), learn_dv_path(), and update_dvh_performance().

◆ distance

unsigned int DistanceVectorHop::distance

Number of hops in total to the target (excluding next_hop and target itself).

Thus 0 still means a distance of 2 hops (to next_hop and then to target).

Definition at line 1752 of file gnunet-service-transport.c.

Referenced by encapsulate_for_dv(), and learn_dv_path().


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