GNUnet  0.11.x
Data Fields
AddressInfo Struct Reference

Information we track for each address known to ATS. More...

Collaboration diagram for AddressInfo:
[legend]

Data Fields

struct GNUNET_HELLO_Addressaddress
 The address (with peer identity). More...
 
struct GNUNET_ATS_Sessionsession
 Session (can be NULL) More...
 
struct GNUNET_ATS_AddressRecordar
 Record with ATS API for the address. More...
 
struct GNUNET_ATS_Properties properties
 Performance properties of this address. More...
 
struct GNUNET_TIME_Absolute blocked
 Time until when this address is blocked and should thus not be made available to ATS (ar should be NULL until this time). More...
 
struct GNUNET_TIME_Relative back_off
 If an address is blocked as part of an exponential back-off, we track the current size of the backoff here. More...
 
struct GNUNET_SCHEDULER_Taskunblock_task
 Task scheduled to unblock an ATS-blocked address at blocked time, or NULL if the address is not blocked (and thus ar is non-NULL). More...
 
int expired
 Set to GNUNET_YES if the address has expired but we could not yet remove it because we still have a valid session. More...
 

Detailed Description

Information we track for each address known to ATS.

Definition at line 41 of file gnunet-service-transport_ats.c.

Field Documentation

◆ address

struct GNUNET_HELLO_Address* AddressInfo::address

The address (with peer identity).

Must never change while this struct is in the p2a map.

Definition at line 47 of file gnunet-service-transport_ats.c.

Referenced by destroy_ai(), find_ai(), find_ai_cb(), find_ai_no_session(), find_ai_no_session_cb(), GST_ats_add_address(), GST_ats_add_inbound_address(), and unblock_address().

◆ session

struct GNUNET_ATS_Session* AddressInfo::session

◆ ar

struct GNUNET_ATS_AddressRecord* AddressInfo::ar

◆ properties

struct GNUNET_ATS_Properties AddressInfo::properties

◆ blocked

struct GNUNET_TIME_Absolute AddressInfo::blocked

Time until when this address is blocked and should thus not be made available to ATS (ar should be NULL until this time).

Used when transport determines that for some reason it (temporarily) cannot use an address, even though it has been validated.

Definition at line 71 of file gnunet-service-transport_ats.c.

Referenced by GST_ats_block_address().

◆ back_off

struct GNUNET_TIME_Relative AddressInfo::back_off

If an address is blocked as part of an exponential back-off, we track the current size of the backoff here.

Definition at line 77 of file gnunet-service-transport_ats.c.

Referenced by GST_ats_block_address(), and GST_ats_block_reset().

◆ unblock_task

struct GNUNET_SCHEDULER_Task* AddressInfo::unblock_task

Task scheduled to unblock an ATS-blocked address at blocked time, or NULL if the address is not blocked (and thus ar is non-NULL).

Definition at line 84 of file gnunet-service-transport_ats.c.

Referenced by destroy_ai(), GST_ats_block_address(), GST_ats_block_reset(), GST_ats_new_session(), and unblock_address().

◆ expired

int AddressInfo::expired

Set to GNUNET_YES if the address has expired but we could not yet remove it because we still have a valid session.

Definition at line 90 of file gnunet-service-transport_ats.c.

Referenced by find_ai_no_session_cb(), GST_ats_del_session(), and GST_ats_expire_address().


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