4 #ifndef _libiqnet_ssl_connection_
5 #define _libiqnet_ssl_connection_
7 #include "connection.h"
8 #include "conn_factory.h"
12 #include <openssl/ssl.h>
28 size_t send(
const char*,
size_t );
29 size_t recv(
char*,
size_t );
38 virtual void ssl_accept();
40 virtual void ssl_connect();
42 bool shutdown_recved();
51 enum State { EMPTY, ACCEPTING, CONNECTING, READING, WRITING, SHUTDOWN };
69 void handle_input(
bool& );
70 void handle_output(
bool& );
73 void switch_state(
bool& terminate );
84 void reg_send(
const char*,
size_t );
85 void reg_recv(
char*,
size_t );
92 virtual void recv_succeed(
bool& terminate,
size_t req_len,
size_t real_len ) = 0;
93 virtual void send_succeed(
bool& terminate ) = 0;
SSL connection class.
Definition: ssl_connection.h:18
Object-oriented networking/multithreading infrastructure.
Definition: acceptor.h:11
virtual void accept_succeed()
Overwrite it for server connection.
Definition: ssl_connection.h:88
SSL context class. Initializes SSL library.
Definition: ssl_lib.h:49
An established TCP-connection.
Definition: connection.h:21
void set_reactor(Reactor_base *r)
A trick for supporting generic factory.
Definition: ssl_connection.h:62
virtual void connect_succeed()
Overwrite it for client connection.
Definition: ssl_connection.h:90
Relatively portable socket class.
Definition: socket.h:13
Definition: ssl_connection.h:48