Request we should make. More...
Data Fields | |
struct GNUNET_CONTAINER_HeapNode * | hn |
Requests are kept in a heap while waiting to be resolved. More... | |
struct Request * | next |
Active requests are kept in a DLL. More... | |
struct Request * | prev |
Active requests are kept in a DLL. More... | |
struct Record * | rec_head |
Head of records that should be published in GNS for this hostname. More... | |
struct Record * | rec_tail |
Tail of records that should be published in GNS for this hostname. More... | |
struct GNUNET_DNSSTUB_RequestSocket * | rs |
Socket used to make the request, NULL if not active. More... | |
char * | hostname |
Hostname we are resolving, allocated at the end of this struct (optimizing memory consumption by reducing total number of allocations). More... | |
struct GNUNET_NAMESTORE_QueueEntry * | qe |
Namestore operation pending for this record. More... | |
const struct Zone * | zone |
Zone responsible for this request. More... | |
struct GNUNET_TIME_Absolute | expires |
At what time does the (earliest) of the returned records for this name expire? At this point, we need to re-fetch the record. More... | |
struct GNUNET_TIME_Absolute | op_start_time |
While we are fetching the record, the value is set to the starting time of the DNS operation. More... | |
unsigned int | issue_num |
How often did we issue this query? (And failed, reset to zero once we were successful.) More... | |
uint16_t | id |
random 16-bit DNS query identifier. More... | |
void * | raw |
Raw DNS query. More... | |
size_t | raw_len |
Number of bytes in raw. More... | |
time_t | time |
When did we last issue this request? More... | |
int | issue_num |
How often did we issue this query? More... | |
struct GNUNET_NETWORK_Handle * | lsock |
Socket to use for sending the reply. More... | |
const void * | addr |
Destination address to use. More... | |
struct GNUNET_DNSPARSER_Packet * | packet |
Initially, this is the DNS request, it will then be converted to the DNS response. More... | |
struct GNUNET_GNS_LookupWithTldRequest * | lookup |
Our GNS request handle. More... | |
struct GNUNET_DNSSTUB_RequestSocket * | dns_lookup |
Our DNS request handle. More... | |
struct GNUNET_SCHEDULER_Task * | timeout_task |
Task run on timeout or shutdown to clean up without response. More... | |
struct VpnContext * | vpn_ctx |
Vpn resolution context. More... | |
char * | udp_msg |
Original UDP request message. More... | |
size_t | addr_len |
Number of bytes in addr. More... | |
size_t | udp_msg_size |
Number of bytes in udp_msg. More... | |
uint16_t | original_request_id |
ID of the original request. More... | |
struct GNUNET_GNS_LookupWithTldRequest * | lr |
Socket used to make the request, NULL if not active. More... | |
const char * | hostname |
Hostname we are resolving, allocated at the end of this struct (optimizing memory consumption by reducing total number of allocations). More... | |
struct GNUNET_TIME_Relative | latency |
Observed latency, set once we got a reply. More... | |
enum RequestCategory | cat |
Category of the request. More... | |
Request we should make.
Data kept per request.
We keep this struct in memory per request, thus optimizing it is crucial for the overall memory consumption of the zone importer.
Definition at line 127 of file gnunet-zoneimport.c.
struct GNUNET_CONTAINER_HeapNode* Request::hn |
Requests are kept in a heap while waiting to be resolved.
Definition at line 132 of file gnunet-zoneimport.c.
Referenced by do_shutdown(), insert_sorted(), main(), process_queue(), and process_result().
struct Request * Request::next |
Active requests are kept in a DLL.
Requests are kept in a DLL.
Definition at line 137 of file gnunet-zoneimport.c.
Referenced by do_shutdown(), and process_queue().
struct Request * Request::prev |
Active requests are kept in a DLL.
Requests are kept in a DLL.
Definition at line 142 of file gnunet-zoneimport.c.
struct Record* Request::rec_head |
Head of records that should be published in GNS for this hostname.
Definition at line 148 of file gnunet-zoneimport.c.
Referenced by add_record(), free_records(), ns_lookup_result_cb(), and process_result().
struct Record* Request::rec_tail |
Tail of records that should be published in GNS for this hostname.
Definition at line 154 of file gnunet-zoneimport.c.
Referenced by add_record(), and free_records().
struct GNUNET_DNSSTUB_RequestSocket * Request::rs |
Socket used to make the request, NULL if not active.
Definition at line 159 of file gnunet-zoneimport.c.
Referenced by process_queue(), process_result(), and submit_req().
char * Request::hostname |
Hostname we are resolving, allocated at the end of this struct (optimizing memory consumption by reducing total number of allocations).
Hostname we are resolving.
Definition at line 166 of file gnunet-zoneimport.c.
Referenced by build_dns_query(), check_for_glue(), get_label(), ns_lookup_result_cb(), process_queue(), process_record(), process_result(), queue(), and store_completed_cb().
struct GNUNET_NAMESTORE_QueueEntry* Request::qe |
Namestore operation pending for this record.
Definition at line 171 of file gnunet-zoneimport.c.
Referenced by do_shutdown(), process_queue(), process_result(), and store_completed_cb().
const struct Zone* Request::zone |
Zone responsible for this request.
Definition at line 176 of file gnunet-zoneimport.c.
Referenced by ns_lookup_result_cb(), process_result(), and queue().
struct GNUNET_TIME_Absolute Request::expires |
At what time does the (earliest) of the returned records for this name expire? At this point, we need to re-fetch the record.
Definition at line 183 of file gnunet-zoneimport.c.
Referenced by insert_sorted(), ns_lookup_result_cb(), process_queue(), and process_result().
struct GNUNET_TIME_Absolute Request::op_start_time |
While we are fetching the record, the value is set to the starting time of the DNS operation.
While we are fetching the record, the value is set to the starting time of the GNS operation.
While doing a NAMESTORE store, again set to the start time of the NAMESTORE operation.
Definition at line 191 of file gnunet-zoneimport.c.
Referenced by process_queue(), process_result(), and store_completed_cb().
unsigned int Request::issue_num |
How often did we issue this query? (And failed, reset to zero once we were successful.)
Definition at line 197 of file gnunet-zoneimport.c.
Referenced by process_queue(), process_result(), and submit_req().
uint16_t Request::id |
random 16-bit DNS query identifier.
Definition at line 202 of file gnunet-zoneimport.c.
Referenced by build_dns_query(), process_result(), and queue().
void* Request::raw |
Raw DNS query.
Definition at line 52 of file gnunet-zonewalk.c.
Referenced by process_result(), queue(), and submit_req().
size_t Request::raw_len |
Number of bytes in raw.
Definition at line 57 of file gnunet-zonewalk.c.
Referenced by queue(), and submit_req().
time_t Request::time |
When did we last issue this request?
Definition at line 67 of file gnunet-zonewalk.c.
Referenced by submit_req().
int Request::issue_num |
How often did we issue this query?
Definition at line 72 of file gnunet-zonewalk.c.
struct GNUNET_NETWORK_Handle* Request::lsock |
Socket to use for sending the reply.
Definition at line 83 of file gnunet-dns2gns.c.
const void* Request::addr |
Destination address to use.
Definition at line 88 of file gnunet-dns2gns.c.
struct GNUNET_DNSPARSER_Packet* Request::packet |
Initially, this is the DNS request, it will then be converted to the DNS response.
Definition at line 94 of file gnunet-dns2gns.c.
struct GNUNET_GNS_LookupWithTldRequest* Request::lookup |
Our GNS request handle.
Definition at line 99 of file gnunet-dns2gns.c.
struct GNUNET_DNSSTUB_RequestSocket* Request::dns_lookup |
Our DNS request handle.
Definition at line 104 of file gnunet-dns2gns.c.
struct GNUNET_SCHEDULER_Task* Request::timeout_task |
Task run on timeout or shutdown to clean up without response.
Definition at line 110 of file gnunet-dns2gns.c.
struct VpnContext* Request::vpn_ctx |
Vpn resolution context.
Definition at line 115 of file gnunet-dns2gns.c.
Referenced by vpn_allocation_cb().
char* Request::udp_msg |
Original UDP request message.
Definition at line 120 of file gnunet-dns2gns.c.
size_t Request::addr_len |
Number of bytes in addr.
Definition at line 125 of file gnunet-dns2gns.c.
size_t Request::udp_msg_size |
Number of bytes in udp_msg.
Definition at line 130 of file gnunet-dns2gns.c.
uint16_t Request::original_request_id |
ID of the original request.
Definition at line 135 of file gnunet-dns2gns.c.
struct GNUNET_GNS_LookupWithTldRequest* Request::lr |
Socket used to make the request, NULL if not active.
Definition at line 80 of file gnunet-gns-benchmark.c.
Referenced by free_request(), process_queue(), and process_result().
const char* Request::hostname |
Hostname we are resolving, allocated at the end of this struct (optimizing memory consumption by reducing total number of allocations).
Definition at line 87 of file gnunet-gns-benchmark.c.
struct GNUNET_TIME_Relative Request::latency |
Observed latency, set once we got a reply.
Definition at line 98 of file gnunet-gns-benchmark.c.
Referenced by compare_req(), do_shutdown(), and process_result().
enum RequestCategory Request::cat |
Category of the request.
Definition at line 103 of file gnunet-gns-benchmark.c.
Referenced by do_shutdown(), process_queue(), process_result(), and queue().