xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
LinuxSSLSocket.h
Go to the documentation of this file.
1#ifndef NET_SOCKET_LINUX_SSL_SOCKET_H
2#define NET_SOCKET_LINUX_SSL_SOCKET_H
3
4#include <Logger.h>
5
7
8#include <vector>
9#include <string>
10#include <cstdint>
11#include <sys/socket.h>
12#include <arpa/inet.h>
13#include <unistd.h>
14#include <openssl/ssl.h>
15#include <openssl/err.h>
16
17namespace Xale::Net
18{
19 class LinuxSSLSocket : public ISocket
20 {
21 public:
23 bool connect(const std::string& ip, int port) override;
24 int send(const std::vector<uint8_t>* data, size_t size) override;
25 int receive(std::vector<uint8_t>* buffer, size_t size) override;
26 void close() override;
27
28 private:
29 Xale::Logger::Logger<LinuxSSLSocket>& _logger;
30 int _socket;
31 SSL_CTX* _ctx = nullptr;
32 SSL* _ssl = nullptr;
33 };
34}
35
36#endif // NET_SOCKET_LINUX_SSL_SOCKET_H
Definition ISocket.h:11
int receive(std::vector< uint8_t > *buffer, size_t size) override
Definition LinuxSSLSocket.cpp:88
int send(const std::vector< uint8_t > *data, size_t size) override
Definition LinuxSSLSocket.cpp:67
LinuxSSLSocket()
Definition LinuxSSLSocket.cpp:5
void close() override
Definition LinuxSSLSocket.cpp:111
bool connect(const std::string &ip, int port) override
Definition LinuxSSLSocket.cpp:12
Definition IPacket.h:8