StartFlag
Flag used to indicate which type of client is connecting to the ATS service.
@ START_FLAG_PERFORMANCE_NO_PIC
Performance monitoring client that does NOT want to learn about changes in performance characteristic...
@ START_FLAG_CONNECTION_SUGGESTION
Connection suggestion handle.
@ START_FLAG_SCHEDULING
This is a scheduling client (aka transport service)
@ START_FLAG_PERFORMANCE_WITH_PIC
Performance monitoring client that wants to learn about changes in performance characteristics.
Automatic transport selection and outbound bandwidth determination.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
Scheduling client to ATS service: here is another address you can use.
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD.
uint32_t address_local_info
Local-only information of the address, see enum GNUNET_HELLO_AddressInfo.
uint32_t session_id
Internal number this client will henceforth use to refer to this address.
struct GNUNET_PeerIdentity peer
Identity of the peer that this address is for.
struct GNUNET_ATS_PropertiesNBO properties
Performance properties of the address.
uint16_t plugin_name_length
Number of bytes in the plugin name that follows this struct.
uint16_t address_length
Number of bytes in the address that follows this struct.
Message sent by ATS client to ATS service when an address was destroyed and must thus henceforth no l...
struct GNUNET_PeerIdentity peer
Which peer is this about? (Technically redundant, as the session_id should be sufficient,...
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED.
uint32_t session_id
Internal number this client uses to refer to this address.
Client to service: please give us an overview of the addresses.
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_REQUEST.
struct GNUNET_PeerIdentity peer
Which peer do we care about? All zeros for all.
int32_t all
GNUNET_YES to get information about all addresses, GNUNET_NO to only return addresses that are in use...
ATS Service suggests to the transport service to use the address identified by the given session_id f...
struct GNUNET_MessageHeader header
A message of type GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION.
uint32_t session_id
Internal number this client uses to refer to the address this suggestion is about.
struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in
How much bandwidth we are allowed for receiving.
struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out
How much bandwidth we are allowed for sending.
struct GNUNET_PeerIdentity peer
Which peer is this about? (Technically redundant, as the session_id should be sufficient,...
Message used to notify ATS that the performance characteristics for an address have changed.
struct GNUNET_PeerIdentity peer
Which peer is this about? (Technically redundant, as the session_id should be sufficient,...
struct GNUNET_MessageHeader header
Message of type GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE.
uint32_t session_id
Internal number this client uses to refer to this address.
struct GNUNET_ATS_PropertiesNBO properties
Performance properties of the address.
Client to ATS: I have a performance preference for a peer.
uint32_t num_preferences
How many struct PreferenceInformation entries follow this struct?
struct GNUNET_PeerIdentity peer
Which peer is the preference being expressed for?
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE.
First message any client sends to ATS, used to self-identify (what type of client this is).
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_START.
uint32_t start_flag
NBO value of an enum StartFlag.
Message containing application feedback for a peer.
struct GNUNET_PeerIdentity peer
Peer this feedback is for.
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_FEEDBACK.
uint32_t num_feedback
Number of feedback values included.
struct GNUNET_TIME_RelativeNBO scope
Relative time describing for which time interval this feedback is.
ATS performance characteristics for an address in network byte order (for IPC).
Message sent by ATS service to client to confirm that it is done using the given session ID.
struct GNUNET_PeerIdentity peer
Which peer is this about? (Technically redundant, as the session_id should be sufficient,...
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE.
uint32_t session_id
Number the client used to identify the session.
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 and in network byte order.
Connectivity client to ATS service: we would like to have address suggestions for this peer.
struct GNUNET_PeerIdentity peer
Peer to get address suggestions for.
uint32_t strength
How "strong" is our need for an address for this peer?
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS or GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL to ...
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST.
struct GNUNET_PeerIdentity peer
struct GNUNET_TIME_RelativeNBO res_delay
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT.
struct GNUNET_PeerIdentity peer