GNU libmicrohttpd  0.9.29
UpgradeEpollHandle Struct Reference

#include </builddir/build/BUILD/libmicrohttpd-0.9.52/src/microhttpd/internal.h>

Data Fields

struct MHD_UpgradeResponseHandleurh
 
MHD_socket socket
 
enum MHD_EpollState celi
 

Detailed Description

Context we pass to epoll() for each of the two sockets of a struct MHD_UpgradeResponseHandle. We need to do this so we can distinguish the two sockets when epoll() gives us event notifications.

Definition at line 945 of file internal.h.

Field Documentation

◆ celi

enum MHD_EpollState UpgradeEpollHandle::celi

IO-state of the socket (or the connection's socket_fd).

Definition at line 973 of file internal.h.

Referenced by MHD_poll().

◆ socket

MHD_socket UpgradeEpollHandle::socket

The socket this event is kind-of about. Note that this is NOT necessarily the socket we are polling on, as for when we read from TLS, we epoll() on the connection's socket (urh->connection->socket_fd), while this then the application's socket (where the application will read from). Nevertheless, for the application to read, we need to first read from TLS, hence the two are related.

Similarly, for writing to TLS, this epoll() will be on the connection's socket_fd, and this will merely be the FD which the applicatio would write to. Hence this struct must always be interpreted based on which field in struct MHD_UpgradeResponseHandle it is (app or mhd).

Definition at line 968 of file internal.h.

◆ urh

struct MHD_UpgradeResponseHandle* UpgradeEpollHandle::urh

Reference to the overall response handle this struct is included within.

Definition at line 951 of file internal.h.

Referenced by MHD_poll().


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