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

Our environment.

Definition at line 285 of file plugin_transport_http_server.c.

◆ sessions

struct GNUNET_CONTAINER_MultiPeerMap* HTTP_Server_Plugin::sessions

Hash map of open sessions.

Definition at line 290 of file plugin_transport_http_server.c.

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

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

◆ name

char* HTTP_Server_Plugin::name

◆ protocol

char* HTTP_Server_Plugin::protocol

Protocol.

Definition at line 310 of file plugin_transport_http_server.c.

◆ external_hostname

char* HTTP_Server_Plugin::external_hostname

External address.

Definition at line 315 of file plugin_transport_http_server.c.

◆ 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.

◆ nat

struct GNUNET_NAT_Handle* HTTP_Server_Plugin::nat

NAT handle & address management.

Definition at line 326 of file plugin_transport_http_server.c.

◆ addr_head

struct HttpAddressWrapper* HTTP_Server_Plugin::addr_head

IPv4 addresses DLL head.

Definition at line 331 of file plugin_transport_http_server.c.

◆ addr_tail

struct HttpAddressWrapper* HTTP_Server_Plugin::addr_tail

IPv4 addresses DLL tail.

Definition at line 336 of file plugin_transport_http_server.c.

◆ server_addr_v4

struct sockaddr_in* HTTP_Server_Plugin::server_addr_v4

IPv4 server socket to bind to.

Definition at line 341 of file plugin_transport_http_server.c.

◆ server_addr_v6

struct sockaddr_in6* HTTP_Server_Plugin::server_addr_v6

IPv6 server socket to bind to.

Definition at line 346 of file plugin_transport_http_server.c.

◆ server_v4

struct MHD_Daemon* HTTP_Server_Plugin::server_v4

MHD IPv4 daemon.

Definition at line 351 of file plugin_transport_http_server.c.

◆ server_v6

struct MHD_Daemon* HTTP_Server_Plugin::server_v6

MHD IPv4 daemon.

Definition at line 356 of file plugin_transport_http_server.c.

◆ server_v4_task

struct GNUNET_SCHEDULER_Task* HTTP_Server_Plugin::server_v4_task

MHD IPv4 task.

Definition at line 384 of file plugin_transport_http_server.c.

◆ server_v6_task

struct GNUNET_SCHEDULER_Task* HTTP_Server_Plugin::server_v6_task

MHD IPv6 task.

Definition at line 389 of file plugin_transport_http_server.c.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ verify_external_hostname

int HTTP_Server_Plugin::verify_external_hostname

Verify external address.

Definition at line 414 of file plugin_transport_http_server.c.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ options

uint32_t HTTP_Server_Plugin::options

My options to be included in the address.

Definition at line 441 of file plugin_transport_http_server.c.

◆ use_ipv6

uint16_t HTTP_Server_Plugin::use_ipv6

use IPv6

Definition at line 446 of file plugin_transport_http_server.c.

◆ use_ipv4

uint16_t HTTP_Server_Plugin::use_ipv4

use IPv4

Definition at line 451 of file plugin_transport_http_server.c.

◆ port

uint16_t HTTP_Server_Plugin::port

Port used.

Definition at line 456 of file plugin_transport_http_server.c.

◆ 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.


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