refactor: TCPListenSocket, replace make protected members private, use protected methods to acces them in the subclasses

This commit is contained in:
sithlord48
2025-08-02 09:03:06 -04:00
committed by Nick Bolton
parent 4e01e3f337
commit 0c728beb01
2 changed files with 26 additions and 12 deletions

View File

@ -34,12 +34,12 @@ SecureListenSocket::SecureListenSocket(
std::unique_ptr<IDataSocket> SecureListenSocket::accept()
{
std::unique_ptr<SecureSocket> socket;
std::unique_ptr<SecureSocket> secureSocket;
try {
socket = std::make_unique<SecureSocket>(
m_events, m_socketMultiplexer, ARCH->acceptSocket(m_socket, nullptr), m_securityLevel
secureSocket = std::make_unique<SecureSocket>(
events(), socketMultiplexer(), ARCH->acceptSocket(socket(), nullptr), m_securityLevel
);
socket->initSsl(true);
secureSocket->initSsl(true);
setListeningJob();
@ -51,20 +51,20 @@ std::unique_ptr<IDataSocket> SecureListenSocket::accept()
certificateFilename = ArgParser::argsBase().m_tlsCertFile;
}
if (!socket->loadCertificates(certificateFilename)) {
if (!secureSocket->loadCertificates(certificateFilename)) {
return nullptr;
}
socket->secureAccept();
secureSocket->secureAccept();
return socket;
return secureSocket;
} catch (XArchNetwork &) {
if (socket) {
if (secureSocket) {
setListeningJob();
}
return nullptr;
} catch (std::exception &ex) {
if (socket) {
if (secureSocket) {
setListeningJob();
}
throw ex;

View File

@ -44,10 +44,24 @@ public:
protected:
void setListeningJob();
IEventQueue *m_events;
ArchSocket m_socket;
SocketMultiplexer *m_socketMultiplexer;
ArchSocket socket() const
{
return m_socket;
}
IEventQueue *events() const
{
return m_events;
}
SocketMultiplexer *socketMultiplexer() const
{
return m_socketMultiplexer;
}
private:
ArchSocket m_socket;
IEventQueue *m_events;
SocketMultiplexer *m_socketMultiplexer;
std::mutex m_mutex;
};