D++ (DPP)  10.0.30
C++ Discord API Bot Library
sslclient.cpp File Reference
#include <dpp/export.h>
#include <cerrno>
#include <poll.h>
#include <netinet/in.h>
#include <resolv.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/tcp.h>
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <fcntl.h>
#include <string.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <exception>
#include <string>
#include <iostream>
#include <unordered_map>
#include <chrono>
#include <dpp/sslclient.h>
#include <dpp/exception.h>
#include <dpp/utility.h>
#include <dpp/dns.h>
Include dependency graph for sslclient.cpp:

Classes

struct  dpp::keepalive_cache_t
 Keepalive cache record. More...
 
class  dpp::openssl_connection
 This is an opaque class containing openssl library specific structures. More...
 
class  dpp::openssl_context_deleter
 Custom deleter for SSL_CTX. More...
 

Namespaces

 dpp
 The main namespace for D++ functions.
 

Macros

#define DPP_BUFSIZE   16 * 1024
 
#define SOCKET_OP_TIMEOUT   5000
 

Functions

bool dpp::close_socket (dpp::socket sfd)
 Close a socket. More...
 
int dpp::connect_with_timeout (dpp::socket sockfd, const struct sockaddr *addr, socklen_t addrlen, unsigned int timeout_ms)
 Connect to TCP socket with a poll() driven timeout. More...
 
bool dpp::set_nonblocking (dpp::socket sockfd, bool non_blocking)
 Set a socket to blocking or non-blocking IO. More...
 
void dpp::set_signal_handler (int signal)
 

Variables

const int dpp::ERROR_STATUS = -1
 
thread_local std::unordered_map< std::string, keepalive_cache_t > dpp::keepalives
 Keepalive sessions, per-thread. More...
 
thread_local std::unique_ptr< SSL_CTX, openssl_context_deleter > dpp::openssl_context
 OpenSSL context. More...
 

Macro Definition Documentation

◆ DPP_BUFSIZE

#define DPP_BUFSIZE   16 * 1024

◆ SOCKET_OP_TIMEOUT

#define SOCKET_OP_TIMEOUT   5000