34#define DHT_BLOOM_SIZE 128
#define DHT_BLOOM_SIZE
Size of the bloom filter the DHT uses to filter peers.
#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.
DHT GET message sent from clients to service.
uint64_t unique_id
Unique ID identifying this request, if 0 then the client will not expect a response.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
struct GNUNET_HashCode key
The key to search for.
uint32_t type
The type for the data for the GET request; actually an 'enum GNUNET_BLOCK_Type'.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET.
uint32_t desired_replication_level
Replication level for this message.
DHT GET RESULTS KNOWN message sent from clients to service.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN.
struct GNUNET_HashCode key
The key we are searching for (to make it easy to find the corresponding GET inside the service).
uint32_t reserved
Reserved, always 0.
uint64_t unique_id
Unique ID identifying this request.
Message which indicates the DHT should cancel outstanding requests and discard any state.
uint64_t unique_id
Unique ID identifying this request.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_STOP.
struct GNUNET_HashCode key
Key of this request.
uint32_t reserved
Always zero.
Message to insert data into the DHT, sent from clients to DHT service.
struct GNUNET_HashCode key
The key to store the value under.
uint32_t type
The type of data to insert.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT.
uint32_t desired_replication_level
Replication level for this message.
struct GNUNET_TIME_AbsoluteNBO expiration
How long should this data persist?
Reply to a GET send from the service to a client.
uint32_t put_path_length
Number of peers recorded in the outgoing path from source to the storgage location of this message.
uint64_t unique_id
Unique ID of the matching GET request.
struct GNUNET_TIME_AbsoluteNBO expiration
When does this entry expire?
uint32_t reserved
Reserved, always 0.
struct GNUNET_HashCode key
The key that was searched for.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_CLIENT_RESULT.
uint32_t type
The type for the data.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
uint32_t get_path_length
The number of peer identities recorded from the storage location to this peer.
Message to monitor get requests going through peer, DHT service -> clients.
uint32_t hop_count
Hop count.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
uint32_t desired_replication_level
Replication level for this message.
uint32_t reserved
Always zero.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET.
struct GNUNET_HashCode key
The key to store the value under.
uint32_t type
The type of data in the request.
Message to monitor get results going through peer, DHT service -> clients.
uint32_t reserved
Reserved, always 0.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_P2P_RESULT.
struct GNUNET_HashCode key
The key of the corresponding GET request.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
struct GNUNET_TIME_AbsoluteNBO expiration_time
When does the content expire?
uint32_t type
Content type.
uint32_t get_path_length
Length of the GET path that follows (if tracked).
uint32_t put_path_length
Length of the PUT path that follows (if tracked).
Message to monitor put requests going through peer, DHT service -> clients.
uint32_t options
Message options, actually an 'enum GNUNET_DHT_RouteOption' value.
struct GNUNET_TIME_AbsoluteNBO expiration_time
How long should this data persist?
uint32_t desired_replication_level
Replication level for this message.
struct GNUNET_HashCode key
The key to store the value under.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT.
uint32_t hop_count
Hop count so far.
uint32_t type
The type of data in the request.
uint32_t put_path_length
Number of peers recorded in the outgoing path from source to the storage location of this message.
Message to request monitoring messages, clients -> DHT service.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_MONITOR_START or GNUNET_MESSAGE_TYPE_DHT_MONITOR_STOP.
int16_t get
Flag whether to notify about GET messages.
uint32_t type
The type of data desired, GNUNET_BLOCK_TYPE_ANY for all.
int16_t filter_key
Flag whether to use the provided key to filter messages.
int16_t get_resp
Flag whether to notify about GET_REPONSE messages.
struct GNUNET_HashCode key
The key to filter messages by.
int16_t put
Flag whether to notify about PUT messages.
Time for absolute time used by GNUnet, in microseconds and in network byte order.
uint16_t desired_replication_level
Replication level for this message.
uint16_t hop_count
Hop count.
uint32_t type
Content type, must not be zero.
char bloomfilter[128]
Bloomfilter (for peer identities) to stop circular routes.
struct GNUNET_MessageHeader header
Type: GNUNET_MESSAGE_TYPE_DHT_P2P_PUT.
struct GNUNET_HashCode key
The key we are storing under.
uint16_t options
Processing options.
struct GNUNET_TIME_AbsoluteNBO expiration_time
When does the content expire?
uint16_t put_path_length
Length of the PUT path that follows (if tracked).