GNUnet  0.10.x
Data Fields
Request Struct Reference

Request we should make. More...

Collaboration diagram for Request:
[legend]

Data Fields

struct Requestnext
 Requests are kept in a DLL. More...
 
struct Requestprev
 Requests are kept in a DLL. More...
 
struct GNUNET_DNSSTUB_RequestSocketrs
 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_Handlelsock
 Socket to use for sending the reply. More...
 
const void * addr
 Destination address to use. More...
 
struct GNUNET_DNSPARSER_Packetpacket
 Initially, this is the DNS request, it will then be converted to the DNS response. More...
 
struct GNUNET_GNS_LookupWithTldRequestlookup
 Our GNS request handle. More...
 
struct GNUNET_DNSSTUB_RequestSocketdns_lookup
 Our DNS request handle. More...
 
struct GNUNET_SCHEDULER_Tasktimeout_task
 Task run on timeout or shutdown to clean up without response. 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_LookupWithTldRequestlr
 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 MHD_PostProcessor * pp
 Associated session. More...
 
struct MHD_Connection * con
 MHD Connection. More...
 
const char * post_url
 URL to serve in response to this POST (if this request was a 'POST') More...
 
struct GNUNET_NAMESTORE_QueueEntryqe
 Active request with the namestore. More...
 
struct GNUNET_NAMESTORE_ZoneIteratorlookup_it
 Active lookup iterator TODO: deprecate or fix lookup by label and use above member. More...
 
struct GNUNET_NAMESTORE_ZoneIteratorzi
 Active iteration with the namestore. More...
 
enum Phase phase
 Current processing phase. More...
 
char domain_name [64]
 Domain name submitted via form. More...
 
char public_key [128]
 Public key submitted via form. More...
 
struct GNUNET_CRYPTO_EcdsaPublicKey pub
 
struct GNUNET_CONTAINER_HeapNodehn
 Requests are kept in a heap while waiting to be resolved. More...
 
struct Recordrec_head
 Head of records that should be published in GNS for this hostname. More...
 
struct Recordrec_tail
 Tail of records that should be published in GNS for this hostname. More...
 
const struct Zonezone
 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...
 

Detailed Description

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 34 of file gnunet-zonewalk.c.

Field Documentation

◆ next

struct Request * Request::next

Requests are kept in a DLL.

Active requests are kept in a DLL.

Definition at line 39 of file gnunet-zonewalk.c.

Referenced by do_shutdown(), and process_queue().

◆ prev

struct Request * Request::prev

Requests are kept in a DLL.

Active requests are kept in a DLL.

Definition at line 44 of file gnunet-zonewalk.c.

◆ rs

struct GNUNET_DNSSTUB_RequestSocket * Request::rs

Socket used to make the request, NULL if not active.

Definition at line 49 of file gnunet-zonewalk.c.

Referenced by process_queue(), process_result(), run_httpd(), and submit_req().

◆ raw

void* Request::raw

Raw DNS query.

Definition at line 54 of file gnunet-zonewalk.c.

Referenced by process_result(), queue(), and submit_req().

◆ raw_len

size_t Request::raw_len

Number of bytes in raw.

Definition at line 59 of file gnunet-zonewalk.c.

Referenced by queue(), and submit_req().

◆ hostname [1/2]

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 64 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

time_t Request::time

When did we last issue this request?

Definition at line 69 of file gnunet-zonewalk.c.

Referenced by submit_req().

◆ issue_num [1/2]

int Request::issue_num

How often did we issue this query?

Definition at line 74 of file gnunet-zonewalk.c.

Referenced by process_queue(), process_result(), and submit_req().

◆ id

uint16_t Request::id

random 16-bit DNS query identifier.

Definition at line 79 of file gnunet-zonewalk.c.

Referenced by build_dns_query(), process_result(), and queue().

◆ lsock

struct GNUNET_NETWORK_Handle* Request::lsock

Socket to use for sending the reply.

Definition at line 45 of file gnunet-dns2gns.c.

Referenced by handle_request(), and send_response().

◆ addr

const void* Request::addr

Destination address to use.

Definition at line 50 of file gnunet-dns2gns.c.

Referenced by handle_request(), and send_response().

◆ packet

struct GNUNET_DNSPARSER_Packet* Request::packet

Initially, this is the DNS request, it will then be converted to the DNS response.

Definition at line 56 of file gnunet-dns2gns.c.

Referenced by dns_result_processor(), do_timeout(), handle_request(), result_processor(), and send_response().

◆ lookup

struct GNUNET_GNS_LookupWithTldRequest* Request::lookup

Our GNS request handle.

Definition at line 61 of file gnunet-dns2gns.c.

Referenced by do_timeout(), handle_request(), and result_processor().

◆ dns_lookup

struct GNUNET_DNSSTUB_RequestSocket* Request::dns_lookup

Our DNS request handle.

Definition at line 66 of file gnunet-dns2gns.c.

Referenced by dns_result_processor(), do_timeout(), and result_processor().

◆ timeout_task

struct GNUNET_SCHEDULER_Task* Request::timeout_task

Task run on timeout or shutdown to clean up without response.

Definition at line 72 of file gnunet-dns2gns.c.

Referenced by dns_result_processor(), handle_request(), and send_response().

◆ udp_msg

char* Request::udp_msg

Original UDP request message.

Definition at line 77 of file gnunet-dns2gns.c.

Referenced by do_timeout(), handle_request(), result_processor(), and send_response().

◆ addr_len

size_t Request::addr_len

Number of bytes in addr.

Definition at line 82 of file gnunet-dns2gns.c.

Referenced by handle_request(), and send_response().

◆ udp_msg_size

size_t Request::udp_msg_size

Number of bytes in udp_msg.

Definition at line 87 of file gnunet-dns2gns.c.

Referenced by handle_request(), and result_processor().

◆ original_request_id

uint16_t Request::original_request_id

ID of the original request.

Definition at line 92 of file gnunet-dns2gns.c.

Referenced by dns_result_processor(), and result_processor().

◆ lr

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().

◆ hostname [2/2]

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.

◆ op_start_time

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 93 of file gnunet-gns-benchmark.c.

Referenced by process_queue(), process_result(), and store_completed_cb().

◆ latency

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().

◆ cat

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(), process_stdin(), and queue().

◆ pp

struct MHD_PostProcessor* Request::pp

Associated session.

Post processor handling form data (IF this is a POST request).

Definition at line 121 of file gnunet-namestore-fcfsd.c.

Referenced by create_response(), and request_completed_callback().

◆ con

struct MHD_Connection* Request::con

◆ post_url

const char* Request::post_url

URL to serve in response to this POST (if this request was a 'POST')

Definition at line 131 of file gnunet-namestore-fcfsd.c.

◆ qe

struct GNUNET_NAMESTORE_QueueEntry * Request::qe

Active request with the namestore.

Namestore operation pending for this record.

Definition at line 136 of file gnunet-namestore-fcfsd.c.

Referenced by do_shutdown(), lookup_it_error(), lookup_it_finished(), process_queue(), process_result(), put_continuation(), request_completed_callback(), store_completed_cb(), and zone_to_name_cb().

◆ lookup_it

struct GNUNET_NAMESTORE_ZoneIterator* Request::lookup_it

Active lookup iterator TODO: deprecate or fix lookup by label and use above member.

Definition at line 142 of file gnunet-namestore-fcfsd.c.

Referenced by create_response(), and lookup_it_processor().

◆ zi

struct GNUNET_NAMESTORE_ZoneIterator* Request::zi

Active iteration with the namestore.

Definition at line 146 of file gnunet-namestore-fcfsd.c.

◆ phase

enum Phase Request::phase

◆ domain_name

char Request::domain_name[64]

Domain name submitted via form.

Definition at line 156 of file gnunet-namestore-fcfsd.c.

Referenced by create_response(), lookup_it_processor(), post_iterator(), put_continuation(), and zone_to_name_cb().

◆ public_key

char Request::public_key[128]

Public key submitted via form.

Definition at line 161 of file gnunet-namestore-fcfsd.c.

Referenced by create_response(), lookup_it_finished(), and post_iterator().

◆ pub

struct GNUNET_CRYPTO_EcdsaPublicKey Request::pub

Definition at line 163 of file gnunet-namestore-fcfsd.c.

Referenced by lookup_it_finished(), and zone_to_name_cb().

◆ hn

struct GNUNET_CONTAINER_HeapNode* Request::hn

Requests are kept in a heap while waiting to be resolved.

Definition at line 136 of file gnunet-zoneimport.c.

Referenced by do_shutdown(), insert_sorted(), main(), process_queue(), process_result(), and process_stdin().

◆ rec_head

struct Record* Request::rec_head

Head of records that should be published in GNS for this hostname.

Definition at line 152 of file gnunet-zoneimport.c.

Referenced by add_record(), free_records(), ns_lookup_result_cb(), and process_result().

◆ rec_tail

struct Record* Request::rec_tail

Tail of records that should be published in GNS for this hostname.

Definition at line 158 of file gnunet-zoneimport.c.

Referenced by add_record(), and free_records().

◆ zone

const struct Zone* Request::zone

Zone responsible for this request.

Definition at line 180 of file gnunet-zoneimport.c.

Referenced by identity_cb(), main(), ns_lookup_result_cb(), process_result(), and queue().

◆ expires

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 187 of file gnunet-zoneimport.c.

Referenced by insert_sorted(), ns_lookup_result_cb(), process_queue(), and process_result().

◆ issue_num [2/2]

unsigned int Request::issue_num

How often did we issue this query? (And failed, reset to zero once we were successful.)

Definition at line 201 of file gnunet-zoneimport.c.


The documentation for this struct was generated from the following files: