56 read_handler =
nullptr;
57 write_handler =
nullptr;
58 read_method =
nullptr;
59 write_method =
nullptr;
66 bool closing()
const {
return flags.close_request; }
71 char const *remoteAddr()
const;
73 bool readPending(
int)
const;
84 unsigned short remote_port = 0;
97 bool close_request =
false;
98 bool write_daemon =
false;
99 bool socket_eof =
false;
100 bool nolinger =
false;
101 bool nonblocking =
false;
103 bool called_connect =
false;
104 bool nodelay =
false;
105 bool close_on_exec =
false;
106 bool read_pending =
false;
108 bool transparent =
false;
111 int64_t bytes_read = 0;
112 int64_t bytes_written = 0;
123 unsigned epoll_state = 0;
127 void *read_data =
nullptr;
129 void *write_data =
nullptr;
132 time_t writeStart = 0;
133 void *lifetime_data =
nullptr;
142 long handle = (long)
nullptr;
150 unsigned int nfConnmarkFromServer = 0;
157 #define fd_table fde::Table 161 #define FD_READ_METHOD(fd, buf, len) (*fde::Table[fd].read_method)(fd, buf, len) 162 #define FD_WRITE_METHOD(fd, buf, len) (*fde::Table[fd].write_method)(fd, buf, len)
static fde * Table
global table of FD and their state.
void DWCB(int, int, size_t, void *)
Security::ContextPointer dynamicTlsContext
cached and then freed when fd is closed
AsyncCall::Pointer closeHandler
READ_HANDLER * read_method
read handler for half-closed fds
std::shared_ptr< SSL_CTX > ContextPointer
void noteUse()
record a transaction on this FD
int WRITE_HANDLER(int, const char *, int)
AsyncCall::Pointer halfClosedReader
Security::SessionPointer ssl
int READ_HANDLER(int, char *, int)
bool closing() const
True if comm_close for this fd has been called.
void clear()
Clear the fde class back to NULL equivalent.
AsyncCall::Pointer timeoutHandler
WRITE_HANDLER * write_method
#define MAX_IPSTRLEN
Length of buffer that needs to be allocated to old a null-terminated IP-string.
MessageBucket::Pointer writeQuotaHandler
response write limiter, if configured
std::shared_ptr< SSL > SessionPointer