GNUnet  0.11.x
Data Fields
HTTP_Server_Plugin Struct Reference

Encapsulation of all of the state of the plugin. More...

Collaboration diagram for HTTP_Server_Plugin:
[legend]

Data Fields

struct GNUNET_TRANSPORT_PluginEnvironmentenv
 Our environment. More...
 
struct GNUNET_CONTAINER_MultiPeerMapsessions
 Hash map of open sessions. More...
 
GNUNET_TRANSPORT_SessionInfoCallback sic
 Function to call about session status changes. More...
 
void * sic_cls
 Closure for sic. More...
 
char * name
 Plugin name. More...
 
char * protocol
 Protocol. More...
 
char * external_hostname
 External address. More...
 
struct GNUNET_HELLO_Addressext_addr
 External hostname the plugin can be connected to, can be different to the host's FQDN, used e.g. More...
 
struct GNUNET_NAT_Handlenat
 NAT handle & address management. More...
 
struct HttpAddressWrapperaddr_head
 IPv4 addresses DLL head. More...
 
struct HttpAddressWrapperaddr_tail
 IPv4 addresses DLL tail. More...
 
struct sockaddr_in * server_addr_v4
 IPv4 server socket to bind to. More...
 
struct sockaddr_in6 * server_addr_v6
 IPv6 server socket to bind to. More...
 
struct MHD_Daemon * server_v4
 MHD IPv4 daemon. More...
 
struct MHD_Daemon * server_v6
 MHD IPv4 daemon. More...
 
struct GNUNET_SCHEDULER_Taskserver_v4_task
 MHD IPv4 task. More...
 
struct GNUNET_SCHEDULER_Taskserver_v6_task
 MHD IPv6 task. More...
 
struct GNUNET_SCHEDULER_Tasknotify_ext_task
 Task calling transport service about external address. More...
 
unsigned int external_only
 Notify transport only about external address. More...
 
int server_v4_immediately
 The IPv4 server is scheduled to run asap. More...
 
int server_v6_immediately
 The IPv6 server is scheduled to run asap. More...
 
int verify_external_hostname
 Verify external address. More...
 
unsigned int max_request
 Maximum number of sockets the plugin can use Each http request /request connections are two connections. More...
 
unsigned int cur_request
 Current number of sockets the plugin can use Each http connection are two requests. More...
 
int in_shutdown
 Did we immediately end the session in disconnect_cb. More...
 
int peer_id_length
 Length of peer id. More...
 
uint32_t options
 My options to be included in the address. More...
 
uint16_t use_ipv6
 use IPv6 More...
 
uint16_t use_ipv4
 use IPv4 More...
 
uint16_t port
 Port used. More...
 
regex_t url_regex
 Regex for parsing URLs. More...
 

Detailed Description

Encapsulation of all of the state of the plugin.

Definition at line 280 of file plugin_transport_http_server.c.

Field Documentation

◆ env

struct GNUNET_TRANSPORT_PluginEnvironment* HTTP_Server_Plugin::env

◆ sessions

struct GNUNET_CONTAINER_MultiPeerMap* HTTP_Server_Plugin::sessions

◆ sic

GNUNET_TRANSPORT_SessionInfoCallback HTTP_Server_Plugin::sic

Function to call about session status changes.

Definition at line 295 of file plugin_transport_http_server.c.

Referenced by http_server_plugin_setup_monitor(), and notify_session_monitor().

◆ sic_cls

void* HTTP_Server_Plugin::sic_cls

Closure for sic.

Definition at line 300 of file plugin_transport_http_server.c.

Referenced by http_server_plugin_setup_monitor(), and notify_session_monitor().

◆ name

char* HTTP_Server_Plugin::name

◆ protocol

char* HTTP_Server_Plugin::protocol

◆ external_hostname

char* HTTP_Server_Plugin::external_hostname

◆ ext_addr

struct GNUNET_HELLO_Address* HTTP_Server_Plugin::ext_addr

External hostname the plugin can be connected to, can be different to the host's FQDN, used e.g.

for reverse proxying

Definition at line 321 of file plugin_transport_http_server.c.

Referenced by http_server_plugin_address_suggested(), libgnunet_plugin_transport_http_server_done(), and server_notify_external_hostname().

◆ nat

struct GNUNET_NAT_Handle* HTTP_Server_Plugin::nat

NAT handle & address management.

Definition at line 326 of file plugin_transport_http_server.c.

Referenced by server_start_report_addresses(), and server_stop_report_addresses().

◆ addr_head

struct HttpAddressWrapper* HTTP_Server_Plugin::addr_head

◆ addr_tail

struct HttpAddressWrapper* HTTP_Server_Plugin::addr_tail

IPv4 addresses DLL tail.

Definition at line 336 of file plugin_transport_http_server.c.

Referenced by server_add_address(), server_remove_address(), and server_stop_report_addresses().

◆ server_addr_v4

struct sockaddr_in* HTTP_Server_Plugin::server_addr_v4

◆ server_addr_v6

struct sockaddr_in6* HTTP_Server_Plugin::server_addr_v6

◆ server_v4

struct MHD_Daemon* HTTP_Server_Plugin::server_v4

◆ server_v6

struct MHD_Daemon* HTTP_Server_Plugin::server_v6

◆ server_v4_task

struct GNUNET_SCHEDULER_Task* HTTP_Server_Plugin::server_v4_task

◆ server_v6_task

struct GNUNET_SCHEDULER_Task* HTTP_Server_Plugin::server_v6_task

◆ notify_ext_task

struct GNUNET_SCHEDULER_Task* HTTP_Server_Plugin::notify_ext_task

Task calling transport service about external address.

Definition at line 394 of file plugin_transport_http_server.c.

Referenced by libgnunet_plugin_transport_http_server_done(), server_configure_plugin(), and server_notify_external_hostname().

◆ external_only

unsigned int HTTP_Server_Plugin::external_only

Notify transport only about external address.

Definition at line 399 of file plugin_transport_http_server.c.

Referenced by libgnunet_plugin_transport_http_server_init(), and server_configure_plugin().

◆ server_v4_immediately

int HTTP_Server_Plugin::server_v4_immediately

The IPv4 server is scheduled to run asap.

Definition at line 404 of file plugin_transport_http_server.c.

Referenced by server_reschedule(), and server_v4_run().

◆ server_v6_immediately

int HTTP_Server_Plugin::server_v6_immediately

The IPv6 server is scheduled to run asap.

Definition at line 409 of file plugin_transport_http_server.c.

Referenced by server_reschedule(), and server_v6_run().

◆ verify_external_hostname

int HTTP_Server_Plugin::verify_external_hostname

Verify external address.

Definition at line 414 of file plugin_transport_http_server.c.

Referenced by server_configure_plugin(), and server_notify_external_hostname().

◆ max_request

unsigned int HTTP_Server_Plugin::max_request

Maximum number of sockets the plugin can use Each http request /request connections are two connections.

Definition at line 420 of file plugin_transport_http_server.c.

Referenced by run_mhd_start_daemon(), server_accept_cb(), server_access_cb(), server_configure_plugin(), and server_lookup_connection().

◆ cur_request

unsigned int HTTP_Server_Plugin::cur_request

Current number of sockets the plugin can use Each http connection are two requests.

Definition at line 426 of file plugin_transport_http_server.c.

Referenced by server_accept_cb(), server_access_cb(), server_disconnect_cb(), and server_lookup_connection().

◆ in_shutdown

int HTTP_Server_Plugin::in_shutdown

Did we immediately end the session in disconnect_cb.

Definition at line 431 of file plugin_transport_http_server.c.

Referenced by libgnunet_plugin_transport_http_server_done(), and server_schedule().

◆ peer_id_length

int HTTP_Server_Plugin::peer_id_length

Length of peer id.

Definition at line 436 of file plugin_transport_http_server.c.

Referenced by server_configure_plugin(), and server_parse_url().

◆ options

uint32_t HTTP_Server_Plugin::options

◆ use_ipv6

uint16_t HTTP_Server_Plugin::use_ipv6

◆ use_ipv4

uint16_t HTTP_Server_Plugin::use_ipv4

◆ port

uint16_t HTTP_Server_Plugin::port

Port used.

Definition at line 456 of file plugin_transport_http_server.c.

Referenced by run_mhd_start_daemon(), server_configure_plugin(), and server_start().

◆ url_regex

regex_t HTTP_Server_Plugin::url_regex

Regex for parsing URLs.

FIXME: this seems overkill.

Definition at line 461 of file plugin_transport_http_server.c.

Referenced by libgnunet_plugin_transport_http_server_done(), libgnunet_plugin_transport_http_server_init(), and server_parse_url().


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