GNU libmicrohttpd  0.9.72
MHD_Daemon Struct Reference

#include </builddir/build/BUILD/libmicrohttpd-0.9.72/src/lib/internal.h>

Data Fields

MHD_RequestCallback rc
 
void * rc_cls
 
MHD_LoggingCallback logger
 
void * logger_cls
 
MHD_AcceptPolicyCallback accept_policy_cb
 
void * accept_policy_cb_cls
 
MHD_EarlyUriLogCallback early_uri_logger_cb
 
void * early_uri_logger_cb_cls
 
MHD_NotifyConnectionCallback notify_connection_cb
 
void * notify_connection_cb_cls
 
MHD_UnescapeCallback unescape_cb
 
void * unescape_cb_cls
 
struct MHD_Daemonmaster
 
struct MHD_Daemonworker_pool
 
struct MHD_Connectionnormal_timeout_head
 
struct MHD_Connectionnormal_timeout_tail
 
struct MHD_Connectionmanual_timeout_head
 
struct MHD_Connectionmanual_timeout_tail
 
struct MHD_Connectionconnections_head
 
struct MHD_Connectionconnections_tail
 
struct MHD_Connectionsuspended_connections_head
 
struct MHD_Connectionsuspended_connections_tail
 
struct MHD_Connectioncleanup_head
 
struct MHD_Connectioncleanup_tail
 
void * per_ip_connection_count
 
MHD_thread_handle_ID_ pid
 
struct sockaddr_storage listen_sa
 
MHD_mutex_ per_ip_connection_mutex
 
MHD_mutex_ cleanup_connection_mutex
 
size_t listen_sa_len
 
size_t connection_memory_limit_b
 
size_t connection_memory_increment_b
 
size_t thread_stack_limit_b
 
int listen_backlog
 
unsigned int fo_queue_length
 
unsigned int global_connection_limit
 
unsigned int ip_connection_limit
 
unsigned int connections
 
unsigned int worker_pool_size
 
time_t connection_default_timeout
 
MHD_socket listen_socket
 
struct MHD_itc_ itc
 
enum MHD_ThreadingMode threading_mode
 
enum MHD_FastOpenMethod fast_open_method
 
enum MHD_AddressFamily listen_af
 
enum MHD_EventLoopSyscall event_loop_syscall
 
enum MHD_ProtocolStrictLevel protocol_strict_level
 
uint16_t listen_port
 
bool suppress_date
 
bool disable_itc
 
bool disallow_suspend_resume
 
bool disallow_upgrade
 
bool at_limit
 
bool enable_turbo
 
bool data_already_pending
 
bool was_quiesced
 
bool resuming
 
bool allow_address_reuse
 
bool enable_shoutcast
 
volatile bool shutdown
 
MHD_AccessHandlerCallback default_handler
 
void * default_handler_cls
 
enum MHD_FLAG options
 
struct MHD_Connectionnew_connections_head
 
struct MHD_Connectionnew_connections_tail
 
MHD_AcceptPolicyCallback apc
 
void * apc_cls
 
MHD_RequestCompletedCallback notify_completed
 
void * notify_completed_cls
 
MHD_NotifyConnectionCallback notify_connection
 
void * notify_connection_cls
 
LogCallback uri_log_callback
 
void * uri_log_callback_cls
 
UnescapeCallback unescape_callback
 
void * unescape_callback_cls
 
uint16_t port
 
MHD_socket listen_fd
 
size_t pool_size
 
size_t pool_increment
 
enum MHD_DisableSanityCheck insanity_level
 
int listening_address_reuse
 
volatile bool was_quiesced
 
volatile bool resuming
 
volatile bool have_new
 
unsigned int connection_limit
 
time_t connection_timeout
 
unsigned int per_ip_connection_limit
 
int strict_for_client
 
bool sigpipe_blocked
 
unsigned int listen_backlog_size
 

Detailed Description

State kept for each MHD daemon. All connections are kept in two doubly-linked lists. The first one reflects the state of the connection in terms of what operations we are waiting for (read, write, locally blocked, cleanup) whereas the second is about its timeout state (default or custom).

Definition at line 1000 of file internal.h.

Field Documentation

◆ accept_policy_cb

MHD_AcceptPolicyCallback MHD_Daemon::accept_policy_cb

Function to call to accept/reject connections based on the client's IP address.

Definition at line 1026 of file internal.h.

Referenced by MHD_daemon_accept_policy().

◆ accept_policy_cb_cls

void* MHD_Daemon::accept_policy_cb_cls

Closure for accept_policy_cb.

Definition at line 1031 of file internal.h.

Referenced by MHD_daemon_accept_policy().

◆ allow_address_reuse

bool MHD_Daemon::allow_address_reuse

Allow reusing the address:port combination when binding. See MHD_daemon_listen_allow_address_reuse().

Definition at line 1516 of file internal.h.

Referenced by configure_listen_reuse(), and MHD_daemon_listen_allow_address_reuse().

◆ apc

MHD_AcceptPolicyCallback MHD_Daemon::apc

Function to call to check if we should accept or reject an incoming request. May be NULL.

Definition at line 1466 of file internal.h.

Referenced by internal_add_connection(), MHD_start_daemon(), and MHD_start_daemon_va().

◆ apc_cls

void* MHD_Daemon::apc_cls

Closure argument to apc.

Definition at line 1471 of file internal.h.

Referenced by internal_add_connection(), MHD_start_daemon(), and MHD_start_daemon_va().

◆ at_limit

bool MHD_Daemon::at_limit

Did we hit some system or process-wide resource limit while trying to accept() the last time? If so, we don't accept new connections until we close an existing one. This effectively temporarily lowers the "connection_limit" to the current number of connections.

Definition at line 1483 of file internal.h.

Referenced by internal_run_from_select(), and MHD_connection_cleanup_().

◆ cleanup_connection_mutex

◆ cleanup_head

struct MHD_Connection * MHD_Daemon::cleanup_head

Head of doubly-linked list of connections to clean up.

Definition at line 1177 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_run_from_select(), MHD_connection_cleanup_(), MHD_resume_suspended_connections_(), and MHD_stop_daemon().

◆ cleanup_tail

struct MHD_Connection * MHD_Daemon::cleanup_tail

Tail of doubly-linked list of connections to clean up.

Definition at line 1182 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_run_from_select(), MHD_connection_cleanup_(), and MHD_resume_suspended_connections_().

◆ connection_default_timeout

◆ connection_limit

unsigned int MHD_Daemon::connection_limit

Limit on the number of parallel connections.

Definition at line 1686 of file internal.h.

Referenced by internal_add_connection(), and MHD_start_daemon_va().

◆ connection_memory_increment_b

size_t MHD_Daemon::connection_memory_increment_b

Increment to use when growing the read buffer. Smaller than connection_memory_limit_b.

Definition at line 1296 of file internal.h.

Referenced by MHD_daemon_connection_memory_limit(), MHD_daemon_create(), MHD_request_handle_read_(), and try_grow_read_buffer().

◆ connection_memory_limit_b

size_t MHD_Daemon::connection_memory_limit_b

Buffer size to use for each connection. Default is POOL_SIZE_DEFAULT.

Definition at line 1281 of file internal.h.

Referenced by MHD_daemon_connection_memory_limit(), MHD_daemon_create(), MHD_request_handle_idle_(), try_grow_read_buffer(), and try_ready_chunked_body().

◆ connection_timeout

time_t MHD_Daemon::connection_timeout

After how many seconds of inactivity should connections time out? Zero for no timeout.

Definition at line 1692 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_add_connection(), internal_suspend_connection_(), MHD_start_daemon_va(), and MHD_update_last_activity_().

◆ connections

unsigned int MHD_Daemon::connections

Number of active parallel connections.

Number of active parallel connections.

Remarks
Keep this member after pointer value to keep it properly aligned as it will be used as member of union MHD_DaemonInfo.

Definition at line 1361 of file internal.h.

Referenced by internal_add_connection(), internal_run_from_select(), MHD_connection_cleanup_(), MHD_daemon_get_information_sz(), MHD_get_daemon_info(), and MHD_start_daemon_va().

◆ connections_head

struct MHD_Connection * MHD_Daemon::connections_head

Head of doubly-linked list of our current, active connections.

Definition at line 1155 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_suspend_connection_(), MHD_resume_suspended_connections_(), MHD_stop_daemon(), and suspend_action().

◆ connections_tail

struct MHD_Connection * MHD_Daemon::connections_tail

◆ data_already_pending

bool MHD_Daemon::data_already_pending

'True' if some data is already waiting to be processed. If set to 'true' - zero timeout for select()/poll*() is used. Should be reset each time before processing connections and raised by any connection which require additional immediately processing (application does not provide data for response, data waiting in TLS buffers etc.)

Definition at line 1500 of file internal.h.

Referenced by MHD_connection_call_handlers_(), and MHD_daemon_get_timeout().

◆ default_handler

MHD_AccessHandlerCallback MHD_Daemon::default_handler

Callback function for all requests.

Definition at line 1317 of file internal.h.

Referenced by call_connection_handler(), check_write_done(), and MHD_start_daemon_va().

◆ default_handler_cls

void* MHD_Daemon::default_handler_cls

Closure argument to default_handler.

Definition at line 1322 of file internal.h.

Referenced by call_connection_handler(), check_write_done(), and MHD_start_daemon_va().

◆ disable_itc

bool MHD_Daemon::disable_itc

The use of the inter-thread communication channel is disabled. See MHD_daemon_disable_itc().

Definition at line 1462 of file internal.h.

Referenced by MHD_daemon_disable_itc(), and MHD_daemon_quiesce().

◆ disallow_suspend_resume

bool MHD_Daemon::disallow_suspend_resume

◆ disallow_upgrade

bool MHD_Daemon::disallow_upgrade

Disable #MHD_action_upgrade() functionality. See MHD_daemon_disallow_upgrade().

Definition at line 1474 of file internal.h.

Referenced by MHD_daemon_close_all_connections_(), MHD_daemon_disallow_upgrade(), and response_action().

◆ early_uri_logger_cb

MHD_EarlyUriLogCallback MHD_Daemon::early_uri_logger_cb

Function to call on the full URL early for logging.

Definition at line 1036 of file internal.h.

Referenced by MHD_daemon_set_early_uri_logger(), and parse_initial_message_line().

◆ early_uri_logger_cb_cls

void* MHD_Daemon::early_uri_logger_cb_cls

Closure for early_uri_logger_cb.

Definition at line 1041 of file internal.h.

Referenced by MHD_daemon_set_early_uri_logger(), and parse_initial_message_line().

◆ enable_shoutcast

bool MHD_Daemon::enable_shoutcast

MHD should speak SHOUTcast instead of HTTP.

Definition at line 1521 of file internal.h.

Referenced by MHD_daemon_enable_shoutcast().

◆ enable_turbo

bool MHD_Daemon::enable_turbo

Disables optional calls to shutdown() and enables aggressive non-blocking optimistic reads and other potentially unsafe optimizations. See MHD_daemon_enable_turbo().

Definition at line 1490 of file internal.h.

Referenced by MHD_connection_mark_closed_(), and MHD_daemon_enable_turbo().

◆ event_loop_syscall

enum MHD_EventLoopSyscall MHD_Daemon::event_loop_syscall

Sets active/desired style of the event loop. (Auto only possible during initialization, later set to the actual style we use.)

Definition at line 1377 of file internal.h.

Referenced by MHD_connection_cleanup_(), MHD_daemon_destroy(), MHD_daemon_get_timeout(), MHD_daemon_quiesce(), MHD_daemon_run(), MHD_daemon_start(), MHD_request_handle_idle_(), MHD_resume_suspended_connections_(), suspend_action(), and thread_main_handle_connection().

◆ fast_open_method

enum MHD_FastOpenMethod MHD_Daemon::fast_open_method

When should we use TCP_FASTOPEN? See MHD_daemon_tcp_fastopen().

Definition at line 1377 of file internal.h.

◆ fo_queue_length

unsigned int MHD_Daemon::fo_queue_length

Queue length to use with fast open.

Definition at line 1346 of file internal.h.

Referenced by MHD_daemon_create().

◆ global_connection_limit

unsigned int MHD_Daemon::global_connection_limit

Maximum number of connections MHD accepts. 0 for unlimited.

Definition at line 1351 of file internal.h.

Referenced by MHD_daemon_connection_limits().

◆ have_new

volatile bool MHD_Daemon::have_new

Indicate that new connections in new_connections_head list need to be processed.

Definition at line 1670 of file internal.h.

Referenced by new_connections_list_process_().

◆ insanity_level

enum MHD_DisableSanityCheck MHD_Daemon::insanity_level

Our MHD_OPTION_SERVER_INSANITY level, bits indicating which sanity checks are off.

Definition at line 1581 of file internal.h.

◆ ip_connection_limit

unsigned int MHD_Daemon::ip_connection_limit

Maximum number of connections we accept per IP, 0 for unlimited.

Definition at line 1356 of file internal.h.

Referenced by MHD_daemon_connection_limits(), MHD_ip_limit_add(), and MHD_ip_limit_del().

◆ itc

struct MHD_itc_ MHD_Daemon::itc

◆ listen_af

enum MHD_AddressFamily MHD_Daemon::listen_af

Address family to use when listening. Default is #MHD_AF_NONE (do not listen).

Definition at line 1377 of file internal.h.

Referenced by MHD_daemon_bind_port().

◆ listen_backlog

int MHD_Daemon::listen_backlog

Backlog argument to use for listen. See MHD_daemon_listen_backlog().

Definition at line 1336 of file internal.h.

Referenced by MHD_daemon_create(), and MHD_daemon_listen_backlog().

◆ listen_backlog_size

unsigned int MHD_Daemon::listen_backlog_size

The size of queue for listen socket.

Definition at line 1852 of file internal.h.

Referenced by MHD_start_daemon_va().

◆ listen_fd

MHD_socket MHD_Daemon::listen_fd

Listen socket.

Remarks
Keep this member after pointer value to keep it properly aligned as it will be used as member of union MHD_DaemonInfo.

Definition at line 1551 of file internal.h.

Referenced by MHD_get_daemon_info(), MHD_quiesce_daemon(), MHD_start_daemon_va(), and MHD_stop_daemon().

◆ listen_port

uint16_t MHD_Daemon::listen_port

On which port should we listen on? Only effective if we were not given a listen socket or a full address via #MHD_daemon_bind_sa(). 0 means to bind to random free port.

Definition at line 1449 of file internal.h.

Referenced by get_listen_port_number(), MHD_daemon_bind_port(), and MHD_daemon_get_information_sz().

◆ listen_sa

struct sockaddr_storage MHD_Daemon::listen_sa

Socket address to bind to for the listen socket.

Definition at line 1249 of file internal.h.

Referenced by MHD_daemon_bind_socket_address().

◆ listen_sa_len

size_t MHD_Daemon::listen_sa_len

Number of (valid) bytes in listen_sa. Zero if listen_sa is not initialized.

Definition at line 1271 of file internal.h.

Referenced by MHD_daemon_bind_socket_address().

◆ listen_socket

MHD_socket MHD_Daemon::listen_socket

Listen socket we should use, MHD_INVALID_SOCKET means we are to initialize the socket from the other options given.

Definition at line 1377 of file internal.h.

Referenced by configure_listen_reuse(), get_listen_port_number(), MHD_daemon_create(), MHD_daemon_destroy(), MHD_daemon_event_loop(), MHD_daemon_get_information_sz(), MHD_daemon_quiesce(), and stop_workers().

◆ listening_address_reuse

int MHD_Daemon::listening_address_reuse

Whether to allow/disallow/ignore reuse of listening address. The semantics is the following: 0: ignore (user did not ask for neither allow/disallow, use SO_REUSEADDR except W32) >0: allow (use SO_REUSEPORT on most platforms, SO_REUSEADDR on Windows) <0: disallow (mostly no action, SO_EXCLUSIVEADDRUSE on Windows or SO_EXCLBIND on Solaris)

Definition at line 1631 of file internal.h.

Referenced by MHD_start_daemon_va().

◆ logger

MHD_LoggingCallback MHD_Daemon::logger

Function to call for logging.

Definition at line 1015 of file internal.h.

Referenced by MHD_daemon_create(), and MHD_daemon_set_logger().

◆ logger_cls

void* MHD_Daemon::logger_cls

Closure for logger.

Definition at line 1020 of file internal.h.

Referenced by MHD_daemon_create(), and MHD_daemon_set_logger().

◆ manual_timeout_head

struct MHD_Connection * MHD_Daemon::manual_timeout_head

Head of the XDLL of ALL connections with a non-default/custom timeout, unsorted. MHD will do a O(n) scan over this list to determine the current timeout. Not used in MHD_USE_THREAD_PER_CONNECTION mode.

Definition at line 1143 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_suspend_connection_(), MHD_connection_set_timeout(), MHD_resume_suspended_connections_(), and suspend_action().

◆ manual_timeout_tail

struct MHD_Connection * MHD_Daemon::manual_timeout_tail

Tail of the XDLL of ALL connections with a non-default/custom timeout, unsorted. Not used in MHD_USE_THREAD_PER_CONNECTION mode.

Definition at line 1150 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_suspend_connection_(), MHD_connection_set_timeout(), MHD_daemon_get_timeout(), MHD_resume_suspended_connections_(), and suspend_action().

◆ master

struct MHD_Daemon * MHD_Daemon::master

Pointer to master daemon (NULL if this is the master)

Definition at line 1068 of file internal.h.

Referenced by get_master(), MHD_daemon_destroy(), MHD_get_master(), MHD_start_daemon_va(), and MHD_stop_daemon().

◆ new_connections_head

struct MHD_Connection* MHD_Daemon::new_connections_head

Head of doubly-linked list of new, externally added connections.

Definition at line 1335 of file internal.h.

Referenced by close_all_connections(), MHD_stop_daemon(), and new_connections_list_process_().

◆ new_connections_tail

struct MHD_Connection* MHD_Daemon::new_connections_tail

Tail of doubly-linked list of new, externally added connections.

Definition at line 1340 of file internal.h.

Referenced by close_all_connections(), and new_connections_list_process_().

◆ normal_timeout_head

struct MHD_Connection * MHD_Daemon::normal_timeout_head

Head of the XDLL of ALL connections with a default ('normal') timeout, sorted by timeout (earliest at the tail, most recently used connection at the head). MHD can just look at the tail of this list to determine the timeout for all of its elements; whenever there is an event of a connection, the connection is moved back to the tail of the list.

All connections by default start in this list; if a custom timeout that does not match connection_timeout is set, they are moved to the manual_timeout_head-XDLL. Not used in MHD_USE_THREAD_PER_CONNECTION mode as each thread needs only one connection-specific timeout.

Definition at line 1128 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_suspend_connection_(), MHD_connection_set_timeout(), MHD_connection_update_last_activity_(), MHD_resume_suspended_connections_(), MHD_update_last_activity_(), and suspend_action().

◆ normal_timeout_tail

struct MHD_Connection * MHD_Daemon::normal_timeout_tail

Tail of the XDLL of ALL connections with a default timeout, sorted by timeout (earliest timeout at the tail). Not used in MHD_USE_THREAD_PER_CONNECTION mode.

Definition at line 1135 of file internal.h.

Referenced by cleanup_connection(), close_connection(), internal_suspend_connection_(), MHD_connection_set_timeout(), MHD_connection_update_last_activity_(), MHD_daemon_get_timeout(), MHD_resume_suspended_connections_(), MHD_update_last_activity_(), and suspend_action().

◆ notify_completed

MHD_RequestCompletedCallback MHD_Daemon::notify_completed

Function to call when we are done processing a particular request. May be NULL.

Definition at line 1477 of file internal.h.

Referenced by MHD_connection_close_(), and MHD_start_daemon_va().

◆ notify_completed_cls

void* MHD_Daemon::notify_completed_cls

Closure argument to notify_completed.

Definition at line 1482 of file internal.h.

Referenced by MHD_connection_close_().

◆ notify_connection

MHD_NotifyConnectionCallback MHD_Daemon::notify_connection

Function to call when we are starting/stopping a connection. May be NULL.

Definition at line 1488 of file internal.h.

Referenced by internal_run_from_select().

◆ notify_connection_cb

MHD_NotifyConnectionCallback MHD_Daemon::notify_connection_cb

Function to call whenever a connection is started or closed.

Definition at line 1047 of file internal.h.

Referenced by MHD_connection_cleanup_(), MHD_connection_close_(), and MHD_daemon_set_notify_connection().

◆ notify_connection_cb_cls

void* MHD_Daemon::notify_connection_cb_cls

Closure for notify_connection_cb.

Definition at line 1052 of file internal.h.

Referenced by MHD_connection_cleanup_(), MHD_connection_close_(), and MHD_daemon_set_notify_connection().

◆ notify_connection_cls

void* MHD_Daemon::notify_connection_cls

Closure argument to notify_connection.

Definition at line 1493 of file internal.h.

Referenced by internal_run_from_select().

◆ options

◆ per_ip_connection_count

void * MHD_Daemon::per_ip_connection_count

Table storing number of connections per IP

Definition at line 1187 of file internal.h.

Referenced by call_handlers(), MHD_ip_limit_add(), and MHD_ip_limit_del().

◆ per_ip_connection_limit

unsigned int MHD_Daemon::per_ip_connection_limit

Maximum number of connections per IP, or 0 for unlimited.

Definition at line 1698 of file internal.h.

Referenced by call_handlers().

◆ per_ip_connection_mutex

MHD_mutex_ MHD_Daemon::per_ip_connection_mutex

Mutex for per-IP connection counts.

Definition at line 1259 of file internal.h.

Referenced by MHD_daemon_create(), MHD_daemon_destroy(), MHD_ip_count_lock(), MHD_ip_count_unlock(), MHD_start_daemon_va(), and MHD_stop_daemon().

◆ pid

MHD_thread_handle_ID_ MHD_Daemon::pid

◆ pool_increment

size_t MHD_Daemon::pool_increment

Increment for growth of the per-connection memory pools.

Definition at line 1581 of file internal.h.

Referenced by MHD_connection_handle_read(), and MHD_start_daemon_va().

◆ pool_size

size_t MHD_Daemon::pool_size

Size of the per-connection memory pools.

Definition at line 1576 of file internal.h.

Referenced by MHD_start_daemon_va().

◆ port

uint16_t MHD_Daemon::port

Listen port.

Remarks
Keep this member after pointer value to keep it properly aligned as it will be used as member of union MHD_DaemonInfo.

Definition at line 1525 of file internal.h.

Referenced by MHD_get_daemon_info(), MHD_start_daemon(), and MHD_start_daemon_va().

◆ protocol_strict_level

enum MHD_ProtocolStrictLevel MHD_Daemon::protocol_strict_level

How strictly do we enforce the HTTP protocol? See MHD_daemon_protocol_strict_level().

Definition at line 1377 of file internal.h.

Referenced by MHD_daemon_gnutls_credentials(), parse_initial_message_line(), parse_request_headers(), and process_header_line().

◆ rc

MHD_RequestCallback MHD_Daemon::rc

Function to call to handle incoming requests.

Definition at line 1005 of file internal.h.

Referenced by call_request_handler(), MHD_daemon_create(), and process_request_body().

◆ rc_cls

void* MHD_Daemon::rc_cls

Closure for rc.

Definition at line 1010 of file internal.h.

Referenced by call_request_handler(), MHD_daemon_create(), and process_request_body().

◆ resuming [1/2]

bool MHD_Daemon::resuming

◆ resuming [2/2]

volatile bool MHD_Daemon::resuming

Definition at line 1664 of file internal.h.

◆ shutdown

◆ sigpipe_blocked

bool MHD_Daemon::sigpipe_blocked

True if SIGPIPE is blocked

Definition at line 1708 of file internal.h.

Referenced by MHD_send_hdr_and_body_(), and MHD_start_daemon_va().

◆ strict_for_client

int MHD_Daemon::strict_for_client

Be neutral (zero), strict (1) or permissive (-1) to client.

Definition at line 1703 of file internal.h.

Referenced by MHD_start_daemon_va(), and parse_connection_headers().

◆ suppress_date

bool MHD_Daemon::suppress_date

Suppress generating the "Date:" header, this system lacks an RTC (or developer is hyper-optimizing). See MHD_daemon_suppress_date_no_clock().

Definition at line 1456 of file internal.h.

Referenced by build_header_response(), and MHD_daemon_suppress_date_no_clock().

◆ suspended_connections_head

struct MHD_Connection * MHD_Daemon::suspended_connections_head

Head of doubly-linked list of our current but suspended connections.

Definition at line 1166 of file internal.h.

Referenced by cleanup_connection(), close_all_connections(), internal_suspend_connection_(), MHD_daemon_close_all_connections_(), MHD_resume_suspended_connections_(), MHD_stop_daemon(), and suspend_action().

◆ suspended_connections_tail

struct MHD_Connection * MHD_Daemon::suspended_connections_tail

Tail of doubly-linked list of our current but suspended connections.

Definition at line 1172 of file internal.h.

Referenced by cleanup_connection(), close_all_connections(), internal_suspend_connection_(), MHD_daemon_close_all_connections_(), MHD_resume_suspended_connections_(), and suspend_action().

◆ thread_stack_limit_b

size_t MHD_Daemon::thread_stack_limit_b

Desired size of the stack for threads created by MHD, 0 for system default.

Definition at line 1302 of file internal.h.

Referenced by MHD_daemon_thread_stack_size().

◆ threading_mode

◆ unescape_callback

UnescapeCallback MHD_Daemon::unescape_callback

Function to call when we unescape escape sequences.

Definition at line 1512 of file internal.h.

Referenced by digest_auth_check_all(), and MHD_start_daemon_va().

◆ unescape_callback_cls

void* MHD_Daemon::unescape_callback_cls

Closure for unescape_callback.

Definition at line 1517 of file internal.h.

Referenced by digest_auth_check_all().

◆ unescape_cb

MHD_UnescapeCallback MHD_Daemon::unescape_cb

Function to call to unescape sequences in URIs and URI arguments. See MHD_daemon_unescape_cb().

Definition at line 1058 of file internal.h.

Referenced by MHD_daemon_create(), MHD_daemon_unescape_cb(), MHD_parse_arguments_(), and parse_initial_message_line().

◆ unescape_cb_cls

void* MHD_Daemon::unescape_cb_cls

Closure for unescape_cb.

Definition at line 1063 of file internal.h.

Referenced by MHD_daemon_unescape_cb(), MHD_parse_arguments_(), and parse_initial_message_line().

◆ uri_log_callback

LogCallback MHD_Daemon::uri_log_callback

Function to call with the full URI at the beginning of request processing. May be NULL.

Returns the initial pointer to internal state kept by the client for the request.

Definition at line 1502 of file internal.h.

◆ uri_log_callback_cls

void* MHD_Daemon::uri_log_callback_cls

Closure argument to uri_log_callback.

Definition at line 1507 of file internal.h.

◆ was_quiesced [1/2]

bool MHD_Daemon::was_quiesced

MHD_daemon_quiesce() was run against this daemon.

Definition at line 1505 of file internal.h.

Referenced by MHD_daemon_destroy(), MHD_daemon_quiesce(), MHD_quiesce_daemon(), MHD_stop_daemon(), and stop_workers().

◆ was_quiesced [2/2]

volatile bool MHD_Daemon::was_quiesced

Has this daemon been quiesced via MHD_quiesce_daemon()? If so, we should no longer use the listen_fd (including removing it from the epoll_fd when possible).

Definition at line 1650 of file internal.h.

◆ worker_pool

◆ worker_pool_size

unsigned int MHD_Daemon::worker_pool_size

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