34 #ifndef GNUNET_ATS_TRANSPORT_SERVICE_H
35 #define GNUNET_ATS_TRANSPORT_SERVICE_H
117 struct GNUNET_ATS_TransportHandle;
169 struct GNUNET_ATS_TransportHandle *
174 void *suggest_cb_cls);
189 struct GNUNET_ATS_SessionRecord;
206 struct GNUNET_ATS_SessionRecord *
static const struct GNUNET_CONFIGURATION_Handle * cfg
Configuration we are using.
static char * address
GNS address for this phone.
static struct GNUNET_PeerIdentity pid
Identity of the peer we transmit to / connect to.
API of the transport service towards the communicator processes.
GNUNET_TRANSPORT_CommunicatorCharacteristics
What characteristics does this communicator have?
void GNUNET_ATS_session_update(struct GNUNET_ATS_SessionRecord *ar, const struct GNUNET_ATS_Properties *prop)
We have updated performance statistics for a given session.
void GNUNET_ATS_session_del(struct GNUNET_ATS_SessionRecord *ar)
A session was destroyed, ATS should now schedule and allocate under the assumption that this ar is no...
void GNUNET_ATS_transport_done(struct GNUNET_ATS_TransportHandle *ath)
Client is done with ATS transport, release resources.
void(* GNUNET_ATS_SuggestionCallback)(void *cls, const struct GNUNET_PeerIdentity *pid, const char *address)
Signature of a function called by ATS suggesting transport to try connecting with a particular addres...
struct GNUNET_ATS_TransportHandle * GNUNET_ATS_transport_init(const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_ATS_AllocationCallback alloc_cb, void *alloc_cb_cls, GNUNET_ATS_SuggestionCallback suggest_cb, void *suggest_cb_cls)
Initialize the ATS transport subsystem.
void(* GNUNET_ATS_AllocationCallback)(void *cls, struct GNUNET_ATS_Session *session, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in)
Signature of a function called by ATS with the current bandwidth allocation to be used as determined ...
struct GNUNET_ATS_SessionRecord * GNUNET_ATS_session_add(struct GNUNET_ATS_TransportHandle *ath, const struct GNUNET_PeerIdentity *pid, const char *address, struct GNUNET_ATS_Session *session, const struct GNUNET_ATS_Properties *prop)
We have a new session ATS should know.
GNUNET_NetworkType
Types of networks (with separate quotas) we support.
ATS performance characteristics for an address.
uint32_t goodput_in
Confirmed useful payload on this connection to this peer from the other peer.
uint32_t utilization_in
Actual traffic on this connection from the other peer to this peer.
enum GNUNET_NetworkType nt
Which network scope does the respective address belong to?
uint32_t mtu
MTU of the network layer, UINT32_MAX for no MTU (stream).
uint32_t distance
Distance on network layer (required for distance-vector routing) in hops.
struct GNUNET_TIME_Relative delay
Delay.
enum GNUNET_TRANSPORT_CommunicatorCharacteristics cc
What characteristics does this communicator have?
uint32_t utilization_out
Actual traffic on this connection from this peer to the other peer.
uint32_t goodput_out
Confirmed successful payload on this connection from this peer to the other peer.
Session handle for connections.
32-bit bandwidth used for network exchange by GNUnet, in bytes per second.
The identity of the host (wraps the signing key of the peer).
Time for relative time used by GNUnet, in microseconds.