GNUnet  0.10.x
Macros
Constant definitions

Global constants for performance tuning. More...

Macros

#define GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT   GNUNET_BANDWIDTH_value_init(1024)
 Bandwidth (in/out) to assume initially (before either peer has communicated any particular preference). More...
 
#define GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 5)
 After how long do we consider a connection to a peer dead if we don't receive messages from the peer? More...
 
#define GNUNET_CONSTANTS_QUOTA_VIOLATION_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 2)
 How long do we delay reading more from a peer after a quota violation? More...
 
#define GNUNET_CONSTANTS_SERVICE_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 10)
 After how long do we consider a service unresponsive even if we assume that the service commonly does not respond instantly (DNS, Database, etc.). More...
 
#define GNUNET_CONSTANTS_MAX_CORK_DELAY   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 1)
 How long do we delay messages to get larger packet sizes (CORKing)? More...
 
#define GNUNET_CONSTANTS_LATENCY_WARN   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 3)
 After what amount of latency for a message do we print a warning? More...
 
#define GNUNET_CONSTANTS_IDLE_LOAD_THRESHOLD   70
 Until which load do we consider the peer overly idle (which means that we would like to use more resources). More...
 
#define GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S   5
 For how long do we allow unused bandwidth from the past to carry over into the future? (in seconds) More...
 
#define GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_HOURS, 12)
 After how long do we expire an address in a HELLO that we just validated? This value is also used for our own addresses when we create a HELLO. More...
 
#define GNUNET_CONSTANTS_DHT_MAX_EXPIRATION   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_HOURS, 24)
 How long do we cache records at most in the DHT? More...
 
#define GNUNET_CONSTANTS_CORE_SIZE_ENCRYPTED_MESSAGE   (24 + sizeof(struct GNUNET_HashCode))
 Size of the struct EncryptedMessage of the core (which is the per-message overhead of the core). More...
 
#define GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE   (63 * 1024)
 What is the maximum size for encrypted messages? Note that this number imposes a clear limit on the maximum size of any message. More...
 
#define GNUNET_CONSTANTS_CADET_P2P_OVERHEAD   164
 Size of the CADET message overhead: = sizeof (struct GNUNET_CADET_TunnelEncryptedMessage) More...
 
#define GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE   (GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE - GNUNET_CONSTANTS_CADET_P2P_OVERHEAD)
 Maximum message size that can be sent on CADET. More...
 
#define GNUNET_CONSTANTS_MAX_BLOCK_SIZE   (62 * 1024)
 Largest block that can be stored in the DHT. More...
 
#define GNUNET_CONSTANTS_BLOOMFILTER_K   16
 K-value that must be used for the bloom filters in 'GET' queries. More...
 

Detailed Description

Global constants for performance tuning.

Macro Definition Documentation

◆ GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT

#define GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT   GNUNET_BANDWIDTH_value_init(1024)

Bandwidth (in/out) to assume initially (before either peer has communicated any particular preference).

Should be rather low; set so that at least one maximum-size message can be send roughly once per minute.

Definition at line 51 of file gnunet_constants.h.

Referenced by bandwidth_changed_cb(), distribute_bandwidth(), GST_neighbours_handle_quota_message(), handle_connect(), is_bandwidth_available_in_network(), libgnunet_plugin_ats_mlp_init(), neighbours_iterate(), and setup_neighbour().

◆ GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT

#define GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 5)

◆ GNUNET_CONSTANTS_QUOTA_VIOLATION_TIMEOUT

#define GNUNET_CONSTANTS_QUOTA_VIOLATION_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 2)

How long do we delay reading more from a peer after a quota violation?

Definition at line 62 of file gnunet_constants.h.

Referenced by GST_neighbours_calculate_receive_delay().

◆ GNUNET_CONSTANTS_SERVICE_TIMEOUT

#define GNUNET_CONSTANTS_SERVICE_TIMEOUT   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 10)

After how long do we consider a service unresponsive even if we assume that the service commonly does not respond instantly (DNS, Database, etc.).

Definition at line 69 of file gnunet_constants.h.

◆ GNUNET_CONSTANTS_MAX_CORK_DELAY

#define GNUNET_CONSTANTS_MAX_CORK_DELAY   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 1)

How long do we delay messages to get larger packet sizes (CORKing)?

Definition at line 74 of file gnunet_constants.h.

Referenced by GSC_SESSIONS_transmit(), and handle_p2p_get().

◆ GNUNET_CONSTANTS_LATENCY_WARN

#define GNUNET_CONSTANTS_LATENCY_WARN   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 3)

◆ GNUNET_CONSTANTS_IDLE_LOAD_THRESHOLD

#define GNUNET_CONSTANTS_IDLE_LOAD_THRESHOLD   70

Until which load do we consider the peer overly idle (which means that we would like to use more resources).

Note that we use 70 to leave some room for applications to consume resources "idly" (i.e. up to 85%) and then still have some room for "paid for" resource consumption.

Definition at line 89 of file gnunet_constants.h.

◆ GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S

#define GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S   5

For how long do we allow unused bandwidth from the past to carry over into the future? (in seconds)

Definition at line 95 of file gnunet_constants.h.

◆ GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION

#define GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_HOURS, 12)

After how long do we expire an address in a HELLO that we just validated? This value is also used for our own addresses when we create a HELLO.

Definition at line 103 of file gnunet_constants.h.

Referenced by handle_find_peer(), and run().

◆ GNUNET_CONSTANTS_DHT_MAX_EXPIRATION

#define GNUNET_CONSTANTS_DHT_MAX_EXPIRATION   GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_HOURS, 24)

How long do we cache records at most in the DHT?

Definition at line 109 of file gnunet_constants.h.

Referenced by regex_iterator().

◆ GNUNET_CONSTANTS_CORE_SIZE_ENCRYPTED_MESSAGE

#define GNUNET_CONSTANTS_CORE_SIZE_ENCRYPTED_MESSAGE   (24 + sizeof(struct GNUNET_HashCode))

Size of the struct EncryptedMessage of the core (which is the per-message overhead of the core).

Definition at line 116 of file gnunet_constants.h.

◆ GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE

#define GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE   (63 * 1024)

What is the maximum size for encrypted messages? Note that this number imposes a clear limit on the maximum size of any message.

Set to a value close to 64k but not so close that transports will have trouble with their headers.

Could theoretically be 64k minus (GNUNET_CONSTANTS_CORE_SIZE_ENCRYPTED_MESSAGE + #GNUNET_CONSTANTS_TRANSPORT_SIZE_OUTBOUND_MESSAGE), but we're going to be more conservative for now.

Definition at line 128 of file gnunet_constants.h.

Referenced by delayed_put(), GDS_NEIGHBOURS_handle_put(), GSC_SESSIONS_queue_request(), solicit_messages(), and try_transmission().

◆ GNUNET_CONSTANTS_CADET_P2P_OVERHEAD

#define GNUNET_CONSTANTS_CADET_P2P_OVERHEAD   164

Size of the CADET message overhead: = sizeof (struct GNUNET_CADET_TunnelEncryptedMessage)

Checked for correcteness in gnunet-service-cadet_tunnel.c: GCT_init().

Definition at line 138 of file gnunet_constants.h.

◆ GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE

#define GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE   (GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE - GNUNET_CONSTANTS_CADET_P2P_OVERHEAD)

Maximum message size that can be sent on CADET.

Definition at line 143 of file gnunet_constants.h.

Referenced by cadet_mq_send_impl(), check_local_data(), send_pull_reply(), send_push(), and transmit_bobs_cryptodata_message().

◆ GNUNET_CONSTANTS_MAX_BLOCK_SIZE

#define GNUNET_CONSTANTS_MAX_BLOCK_SIZE   (62 * 1024)

Largest block that can be stored in the DHT.

Definition at line 149 of file gnunet_constants.h.

Referenced by REGEX_BLOCK_create().

◆ GNUNET_CONSTANTS_BLOOMFILTER_K

#define GNUNET_CONSTANTS_BLOOMFILTER_K   16

K-value that must be used for the bloom filters in 'GET' queries.

Definition at line 156 of file gnunet_constants.h.

Referenced by handle_dht_local_put(), handle_dht_p2p_get(), handle_dht_p2p_put(), send_find_peer_message(), and transmit_request().