GNUnet  0.11.x
Data Fields
GSF_RequestPlan Struct Reference

Information we keep per request per peer. More...

Collaboration diagram for GSF_RequestPlan:
[legend]

Data Fields

struct GSF_RequestPlannext
 This is a doubly-linked list. More...
 
struct GSF_RequestPlanprev
 This is a doubly-linked list. More...
 
struct GNUNET_CONTAINER_HeapNodehn
 Heap node associated with this request and this peer. More...
 
struct PeerPlanpp
 The transmission plan for a peer that this request is associated with. More...
 
struct GSF_PendingRequestPlanBijectionpe_head
 Head of list of associated pending requests. More...
 
struct GSF_PendingRequestPlanBijectionpe_tail
 Tail of list of associated pending requests. More...
 
struct GNUNET_TIME_Absolute earliest_transmission
 Earliest time we'd be happy to (re)transmit this request. More...
 
struct GNUNET_TIME_Absolute last_transmission
 When was the last time we transmitted this request to this peer? 0 for never. More...
 
uint64_t priority
 Current priority for this request for this target. More...
 
unsigned int transmission_counter
 How often did we transmit this request to this peer? More...
 

Detailed Description

Information we keep per request per peer.

This is a doubly-linked list (with head and tail in the struct GSF_PendingRequestData) with one entry in each heap of each struct PeerPlan. Each entry tracks information relevant for this request and this peer.

Definition at line 108 of file gnunet-service-fs_pe.c.

Field Documentation

◆ next

struct GSF_RequestPlan* GSF_RequestPlan::next

This is a doubly-linked list.

Definition at line 113 of file gnunet-service-fs_pe.c.

◆ prev

struct GSF_RequestPlan* GSF_RequestPlan::prev

This is a doubly-linked list.

Definition at line 118 of file gnunet-service-fs_pe.c.

◆ hn

struct GNUNET_CONTAINER_HeapNode* GSF_RequestPlan::hn

Heap node associated with this request and this peer.

Definition at line 123 of file gnunet-service-fs_pe.c.

Referenced by GSF_plan_notify_request_done_(), plan(), and schedule_peer_transmission().

◆ pp

struct PeerPlan* GSF_RequestPlan::pp

The transmission plan for a peer that this request is associated with.

Definition at line 128 of file gnunet-service-fs_pe.c.

Referenced by GSF_plan_add_(), GSF_plan_notify_request_done_(), GSF_request_plan_reference_get_last_transmission_(), and plan().

◆ pe_head

struct GSF_PendingRequestPlanBijection* GSF_RequestPlan::pe_head

Head of list of associated pending requests.

This tells us which incoming requests from other peers this plan entry corresponds to.

Definition at line 135 of file gnunet-service-fs_pe.c.

Referenced by get_latest(), get_rp_key(), GSF_plan_add_(), GSF_plan_notify_peer_disconnect_(), GSF_plan_notify_request_done_(), merge_pr(), and plan().

◆ pe_tail

struct GSF_PendingRequestPlanBijection* GSF_RequestPlan::pe_tail

Tail of list of associated pending requests.

Definition at line 140 of file gnunet-service-fs_pe.c.

Referenced by GSF_plan_add_(), GSF_plan_notify_peer_disconnect_(), GSF_plan_notify_request_done_(), and merge_pr().

◆ earliest_transmission

struct GNUNET_TIME_Absolute GSF_RequestPlan::earliest_transmission

Earliest time we'd be happy to (re)transmit this request.

Definition at line 145 of file gnunet-service-fs_pe.c.

Referenced by plan(), and schedule_peer_transmission().

◆ last_transmission

struct GNUNET_TIME_Absolute GSF_RequestPlan::last_transmission

When was the last time we transmitted this request to this peer? 0 for never.

Definition at line 150 of file gnunet-service-fs_pe.c.

Referenced by GSF_request_plan_reference_get_last_transmission_(), and schedule_peer_transmission().

◆ priority

uint64_t GSF_RequestPlan::priority

Current priority for this request for this target.

Definition at line 155 of file gnunet-service-fs_pe.c.

Referenced by plan(), and schedule_peer_transmission().

◆ transmission_counter

unsigned int GSF_RequestPlan::transmission_counter

How often did we transmit this request to this peer?

Definition at line 160 of file gnunet-service-fs_pe.c.

Referenced by merge_pr(), plan(), and schedule_peer_transmission().


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