xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
LinuxSSLClientConnection.h
Go to the documentation of this file.
1#ifndef NET_LINUX_SSL_CLIENT_CONNECTION_H
2#define NET_LINUX_SSL_CLIENT_CONNECTION_H
3
4#include <Logger.h>
5
7
8#include <openssl/ssl.h>
9#include <sys/socket.h>
10#include <unistd.h>
11#include <vector>
12#include <cstdint>
13
14namespace Xale::Net
15{
23 {
24 public:
30 LinuxSSLClientConnection(int fd, SSL* ssl);
31
36
40 int read(std::vector<uint8_t>& buffer, size_t size) override;
41
45 int respond(const std::vector<uint8_t>* data, size_t size) override;
46
50 void close() override;
51
52 private:
53 int _fd;
54 SSL* _ssl;
55 Xale::Logger::Logger<LinuxSSLClientConnection>& _logger;
56
60 void cleanup();
61 };
62}
63
64#endif // NET_LINUX_SSL_CLIENT_CONNECTION_H
Represents an established per-client TCP connection.
Definition IClientConnection.h:16
int read(std::vector< uint8_t > &buffer, size_t size) override
Read data through SSL.
Definition LinuxSSLClientConnection.cpp:16
~LinuxSSLClientConnection() override
Shuts down SSL and closes the socket.
Definition LinuxSSLClientConnection.cpp:11
LinuxSSLClientConnection(int fd, SSL *ssl)
Construct from an accepted fd and its SSL object.
Definition LinuxSSLClientConnection.cpp:5
int respond(const std::vector< uint8_t > *data, size_t size) override
Send data through SSL.
Definition LinuxSSLClientConnection.cpp:34
void close() override
Shutdown SSL and close the socket.
Definition LinuxSSLClientConnection.cpp:40
Definition IPacket.h:8