GNUnet  0.19.5
transport.h File Reference

common internal definitions for transport service More...

#include "gnunet_util_lib.h"
#include "gnunet_time_lib.h"
#include "gnunet_constants.h"
Include dependency graph for transport.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  StartMessage
 Message from the transport service to the library asking to check if both processes agree about this peers identity. More...
 
struct  ConnectInfoMessage
 Message from the transport service to the library informing about neighbors. More...
 
struct  DisconnectInfoMessage
 Message from the transport service to the library informing about disconnects. More...
 
struct  QuotaSetMessage
 Message used to set a particular bandwidth quota. More...
 
struct  InboundMessage
 Message used to notify the transport API about a message received from the network. More...
 
struct  SendOkMessage
 Message used to notify the transport API that it can send another message to the transport service. More...
 
struct  RecvOkMessage
 Message used to notify the transport API that it can send another message to the transport service. More...
 
struct  OutboundMessage
 Message used to notify the transport service about a message to be transmitted to another peer. More...
 
struct  AddressToStringResultMessage
 Message used to notify the transport API about an address to string conversion. More...
 
struct  AddressLookupMessage
 Message from the library to the transport service asking for converting a transport address to a human-readable UTF-8 string. More...
 
struct  ValidationIterateResponseMessage
 Message from the transport service to the library containing information about a peer. More...
 
struct  ValidationMonitorMessage
 Message from the library to the transport service asking for binary addresses known for a peer. More...
 
struct  PeerMonitorMessage
 Message from the library to the transport service asking for binary addresses known for a peer. More...
 
struct  TrafficMetricMessage
 Message from the library to the transport service asking for binary addresses known for a peer. More...
 
struct  PeerIterateResponseMessage
 Message from the transport service to the library containing information about a peer. More...
 
struct  BlacklistMessage
 Change in blacklisting (either request or notification, depending on which direction it is going). More...
 
struct  TransportPluginMonitorMessage
 Transport-level connection status update. More...
 

Macros

#define DEBUG_TRANSPORT   GNUNET_EXTRA_LOGGING
 
#define MAX_BANDWIDTH_CARRY_S   GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S
 For how long do we allow unused bandwidth from the past to carry over into the future? (in seconds) More...
 
#define MIN_QUOTA_REFRESH_TIME   2000
 How often do we (at most) do a full quota recalculation? (in ms) More...
 
#define DEFAULT_MAX_FDS   256
 What's the maximum number of sockets transport uses for validation and neighbors. More...
 
#define LATENCY_EVALUATION_MAX_DELAY    GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_HOURS, 1)
 Maximum frequency for re-evaluating latencies for all transport addresses. More...
 
#define CONNECTED_LATENCY_EVALUATION_MAX_DELAY    GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 1)
 Maximum frequency for re-evaluating latencies for connected addresses. More...
 

Typedefs

typedef void(* NotifyConnect) (void *cls, const struct GNUNET_PeerIdentity *peer, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out)
 Similar to GNUNET_TRANSPORT_NotifyDisconnect but in and out quotas are included here. More...
 

Detailed Description

common internal definitions for transport service

Author
Christian Grothoff

Definition in file transport.h.

Macro Definition Documentation

◆ DEBUG_TRANSPORT

#define DEBUG_TRANSPORT   GNUNET_EXTRA_LOGGING

Definition at line 33 of file transport.h.

◆ MAX_BANDWIDTH_CARRY_S

#define MAX_BANDWIDTH_CARRY_S   GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S

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

Definition at line 40 of file transport.h.

◆ MIN_QUOTA_REFRESH_TIME

#define MIN_QUOTA_REFRESH_TIME   2000

How often do we (at most) do a full quota recalculation? (in ms)

Definition at line 46 of file transport.h.

◆ DEFAULT_MAX_FDS

#define DEFAULT_MAX_FDS   256

What's the maximum number of sockets transport uses for validation and neighbors.

Definition at line 52 of file transport.h.

◆ LATENCY_EVALUATION_MAX_DELAY

#define LATENCY_EVALUATION_MAX_DELAY    GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_HOURS, 1)

Maximum frequency for re-evaluating latencies for all transport addresses.

Definition at line 57 of file transport.h.

◆ CONNECTED_LATENCY_EVALUATION_MAX_DELAY

#define CONNECTED_LATENCY_EVALUATION_MAX_DELAY    GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 1)

Maximum frequency for re-evaluating latencies for connected addresses.

Definition at line 63 of file transport.h.

Typedef Documentation

◆ NotifyConnect

typedef void(* NotifyConnect) (void *cls, const struct GNUNET_PeerIdentity *peer, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out)

Similar to GNUNET_TRANSPORT_NotifyDisconnect but in and out quotas are included here.

These values are not required outside transport_api

Parameters
clsclosure
peerthe peer that connected
bandwidth_ininbound bandwidth in NBO
bandwidth_outoutbound bandwidth in NBO

Definition at line 76 of file transport.h.