47 void close()
override;
65 int secureWrite(
const void *buffer,
int size,
int &wrote);
73 void initContext(
bool server);
78 bool showCertificate()
const;
79 void checkResult(
int n,
int &retry);
81 bool verifyCertFingerprint(
const QString &FingerprintDatabasePath)
const;
87 void handleTCPConnected(
const Event &event);
93 std::mutex ssl_mutex_;
95 std::unique_ptr<Ssl> m_ssl;
96 bool m_secureReady =
false;
ArchSocketImpl * ArchSocket
Opaque socket type. An opaque type representing a socket.
Definition IArchNetwork.h:30
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition SecurityLevel.h:14
@ Encrypted
Definition SecurityLevel.h:16
Event.
Definition Event.h:29
AddressFamily
Supported address families.
Definition IArchNetwork.h:58
Event queue interface.
Definition IEventQueue.h:29
Socket multiplexer job.
Definition ISocketMultiplexerJob.h:18
Network address type.
Definition NetworkAddress.h:17
ISocketMultiplexerJob * newJob() override
Definition SecureSocket.cpp:84
~SecureSocket() override
Definition SecureSocket.cpp:65
SecureSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family, SecurityLevel securityLevel=SecurityLevel::Encrypted)
Definition SecureSocket.cpp:46
SecureSocket & operator=(SecureSocket const &)=delete
SecureSocket(SecureSocket const &)=delete
bool loadCertificate(const QString &filename)
Definition SecureSocket.cpp:288
void secureConnect()
Definition SecureSocket.cpp:95
bool isSecureReady() const
Definition SecureSocket.cpp:274
int secureWrite(const void *buffer, int size, int &wrote)
Definition SecureSocket.cpp:246
void close() override
Close socket.
Definition SecureSocket.cpp:70
SecureSocket & operator=(SecureSocket &&)=delete
void secureAccept()
Definition SecureSocket.cpp:102
void initSsl(bool server)
Definition SecureSocket.cpp:279
int secureRead(void *buffer, int size, int &read)
Definition SecureSocket.cpp:219
SecureSocket(SecureSocket &&)=delete
bool isFatal() const override
Definition SecureSocket.h:53
void isFatal(bool b)
Definition SecureSocket.h:57
void connect(const NetworkAddress &) override
Connect socket.
Definition SecureSocket.cpp:76
JobResult doRead() override
Definition SecureSocket.cpp:109
JobResult doWrite() override
Definition SecureSocket.cpp:166
Socket multiplexer.
Definition SocketMultiplexer.h:24
JobResult
Definition TCPSocket.h:64
uint32_t read(void *buffer, uint32_t n) override
Read from stream.
Definition TCPSocket.cpp:117
TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet)
Definition TCPSocket.cpp:29
Definition SecureSocket.cpp:36