36#if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
53 if (
urh->in_buffer_used <
urh->in_buffer_size)
55 if (0 !=
urh->out_buffer_used)
61 ((0 !=
urh->in_buffer_size) ||
62 (0 !=
urh->out_buffer_size) ||
63 (0 !=
urh->out_buffer_used)))
66 if (
urh->out_buffer_used <
urh->out_buffer_size)
68 if (0 !=
urh->in_buffer_used)
74 ((0 !=
urh->out_buffer_size) ||
75 (0 !=
urh->in_buffer_size) ||
76 (0 !=
urh->in_buffer_used)))
91 p[0].fd =
urh->connection->socket_fd;
92 p[1].fd =
urh->mhd.socket;
145 unsigned int num_connections;
148#if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
161#if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
163 num_connections += 2;
182 _ (
"Error allocating memory: %s\n"),
241#if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
267 _ (
"poll failed: %s\n"),
292 while (
NULL != (pos = prev))
296 if (
i >= num_connections)
308#if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
311 if (
i >= num_connections)
326 if ( (0 ==
urh->in_buffer_size) &&
327 (0 ==
urh->out_buffer_size) &&
328 (0 ==
urh->in_buffer_used) &&
329 (0 ==
urh->out_buffer_used) )
334 urh->clean_ready =
true;
417 _ (
"poll failed: %s\n"),
483 p[0].fd =
urh->connection->socket_fd;
484 p[1].fd =
urh->mhd.socket;
486 while ( (0 !=
urh->in_buffer_size) ||
487 (0 !=
urh->out_buffer_size) ||
488 (0 !=
urh->in_buffer_used) ||
489 (0 !=
urh->out_buffer_used) )
496 if ( (
con->tls_read_ready) &&
497 (
urh->in_buffer_used <
urh->in_buffer_size))
513 _ (
"Error during poll: `%s'\n"),
#define MHD_connection_finish_forward_(conn)
enum MHD_StatusCode MHD_accept_connection_(struct MHD_Daemon *daemon)
functions to add connection to our active set
int MHD_connection_call_handlers_(struct MHD_Connection *con, bool read_ready, bool write_ready, bool force_close)
function to call event handlers based on event mask
complete upgrade socket forwarding operation in TLS mode
enum MHD_StatusCode MHD_daemon_poll_(struct MHD_Daemon *daemon, bool may_block)
non-public functions provided by daemon_poll.c
enum MHD_StatusCode MHD_daemon_get_timeout(struct MHD_Daemon *daemon, MHD_UNSIGNED_LONG_LONG *timeout)
internal shared structures
@ MHD_EPOLL_STATE_READ_READY
@ MHD_EPOLL_STATE_WRITE_READY
void * MHD_calloc_(size_t nelem, size_t elsize)
#define MHD_strerror_(errnum)
#define MHD_socket_strerr_(err)
#define MHD_socket_get_error_()
#define MHD_SCKT_ERR_IS_EINTR_(err)
@ MHD_EVENT_LOOP_INFO_READ
@ MHD_EVENT_LOOP_INFO_WRITE
@ MHD_EVENT_LOOP_INFO_CLEANUP
#define MHD_UNSIGNED_LONG_LONG
#define MHD_INVALID_SOCKET
void MHD_request_resume(struct MHD_Request *request)
bool MHD_resume_suspended_connections_(struct MHD_Daemon *daemon)
implementation of MHD_request_resume()
struct MHD_Request request
struct MHD_Connection * next
struct MHD_Connection * prev
bool data_already_pending
struct MHD_Connection * connections_head
bool disallow_suspend_resume
enum MHD_ThreadingMode threading_mode
unsigned int global_connection_limit
struct MHD_Connection * connections_tail
enum MHD_RequestEventLoopInfo event_loop_info
function to process upgrade activity (over TLS)