Request we should make. More...
Data Fields | |
struct Request * | next |
Requests are kept in a DLL. More... | |
struct Request * | prev |
Requests are kept in a DLL. More... | |
struct GNUNET_DNSSTUB_RequestSocket * | rs |
Socket used to make the request, NULL if not active. More... | |
void * | raw |
Raw DNS query. More... | |
size_t | raw_len |
Number of bytes in raw. More... | |
char * | hostname |
Hostname we are resolving. More... | |
time_t | time |
When did we last issue this request? More... | |
int | issue_num |
How often did we issue this query? More... | |
uint16_t | id |
random 16-bit DNS query identifier. 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 resulution 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_Absolute | op_start_time |
While we are fetching the record, the value is set to the starting time of the GNS operation. More... | |
struct GNUNET_TIME_Relative | latency |
Observed latency, set once we got a reply. More... | |
enum RequestCategory | cat |
Category of the request. More... | |
struct GNUNET_CONTAINER_HeapNode * | hn |
Requests are kept in a heap while waiting to be resolved. 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_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... | |
unsigned int | issue_num |
How often did we issue this query? (And failed, reset to zero once we were successful.) 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 32 of file gnunet-zonewalk.c.
struct Request * Request::next |
Requests are kept in a DLL.
Active requests are kept in a DLL.
Definition at line 37 of file gnunet-zonewalk.c.
Referenced by do_shutdown(), and process_queue().
struct Request * Request::prev |
Requests are kept in a DLL.
Active requests are kept in a DLL.
Definition at line 42 of file gnunet-zonewalk.c.
struct GNUNET_DNSSTUB_RequestSocket * Request::rs |
Socket used to make the request, NULL if not active.
Definition at line 47 of file gnunet-zonewalk.c.
Referenced by process_queue(), process_result(), and submit_req().
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().
char * Request::hostname |
Hostname we are resolving.
Hostname we are resolving, allocated at the end of this struct (optimizing memory consumption by reducing total number of allocations).
Definition at line 62 of file gnunet-zonewalk.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().
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.
Referenced by process_queue(), process_result(), and submit_req().
uint16_t Request::id |
random 16-bit DNS query identifier.
Definition at line 77 of file gnunet-zonewalk.c.
Referenced by build_dns_query(), process_result(), queue(), and gnunet_testing.Peer::start().
struct GNUNET_NETWORK_Handle* Request::lsock |
Socket to use for sending the reply.
Definition at line 84 of file gnunet-dns2gns.c.
const void* Request::addr |
Destination address to use.
Definition at line 89 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 95 of file gnunet-dns2gns.c.
struct GNUNET_GNS_LookupWithTldRequest* Request::lookup |
Our GNS request handle.
Definition at line 100 of file gnunet-dns2gns.c.
struct GNUNET_DNSSTUB_RequestSocket* Request::dns_lookup |
Our DNS request handle.
Definition at line 105 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 111 of file gnunet-dns2gns.c.
struct VpnContext* Request::vpn_ctx |
Vpn resulution context.
Definition at line 116 of file gnunet-dns2gns.c.
Referenced by vpn_allocation_cb().
char* Request::udp_msg |
Original UDP request message.
Definition at line 121 of file gnunet-dns2gns.c.
size_t Request::addr_len |
Number of bytes in addr.
Definition at line 126 of file gnunet-dns2gns.c.
size_t Request::udp_msg_size |
Number of bytes in udp_msg.
Definition at line 131 of file gnunet-dns2gns.c.
uint16_t Request::original_request_id |
ID of the original request.
Definition at line 136 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_Absolute Request::op_start_time |
While we are fetching the record, the value is set to the starting time of the GNS operation.
While we are fetching the record, the value is set to the starting time of the DNS operation.
While doing a NAMESTORE store, again set to the start time of the NAMESTORE operation.
Definition at line 87 of file gnunet-gns-benchmark.c.
Referenced by process_queue(), process_result(), and store_completed_cb().
struct GNUNET_TIME_Relative Request::latency |
Observed latency, set once we got a reply.
Definition at line 87 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 87 of file gnunet-gns-benchmark.c.
Referenced by do_shutdown(), process_queue(), process_result(), and queue().
struct GNUNET_CONTAINER_HeapNode* Request::hn |
Requests are kept in a heap while waiting to be resolved.
Definition at line 133 of file gnunet-zoneimport.c.
Referenced by do_shutdown(), insert_sorted(), main(), process_queue(), and process_result().
struct Record* Request::rec_head |
Head of records that should be published in GNS for this hostname.
Definition at line 149 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 155 of file gnunet-zoneimport.c.
Referenced by add_record(), and free_records().
struct GNUNET_NAMESTORE_QueueEntry* Request::qe |
Namestore operation pending for this record.
Definition at line 172 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 177 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 177 of file gnunet-zoneimport.c.
Referenced by insert_sorted(), ns_lookup_result_cb(), process_queue(), and process_result().
unsigned int Request::issue_num |
How often did we issue this query? (And failed, reset to zero once we were successful.)
Definition at line 198 of file gnunet-zoneimport.c.