code optimization / 0.1.1

master
const an teen 2021-10-30 20:29:40 +03:00
parent 8dce1a7e06
commit 1eb69354e9
3 changed files with 5 additions and 34 deletions

View File

@ -35,21 +35,6 @@ Resolver::Resolver(const QString& addr, quint16 port, QObject* parent) :
connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(slotNewUser())); connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(slotNewUser()));
} }
void Resolver::closeSocketViaDescriptor(int id)
{
if(m_sockets.contains(id)) {
m_sockets.value(id)->close();
}
}
QSharedPointer<QTcpSocket> Resolver::getSocketViaDescriptor(int id)
{
if (!m_sockets.contains(id)) {
qInfo() << "Resolver::getSocketViaDescriptor: Requested socket not found";
}
return m_sockets.value(id);
}
void Resolver::disableAPI() void Resolver::disableAPI()
{ {
m_NoApi = true; m_NoApi = true;
@ -71,10 +56,8 @@ void Resolver::slotNewUser()
if (!m_tcpServer->isListening()) return; if (!m_tcpServer->isListening()) return;
QTcpSocket* clientSocket = m_tcpServer->nextPendingConnection(); QTcpSocket* clientSocket = m_tcpServer->nextPendingConnection();
int idUserSock = clientSocket->socketDescriptor(); connect (clientSocket, SIGNAL(readyRead()), this, SLOT(slotReadyClient()));
m_sockets.insert(idUserSock, QSharedPointer<QTcpSocket>(clientSocket)); connect (clientSocket, SIGNAL(disconnected()), this, SLOT(deleteLater()));
connect (m_sockets.value(idUserSock).data(), SIGNAL(readyRead()), this, SLOT(slotReadyClient()));
connect (m_sockets.value(idUserSock).data(), SIGNAL(disconnected()), this, SLOT(slotClientDisconnected()));
} }
void Resolver::slotReadyClient() void Resolver::slotReadyClient()
@ -130,13 +113,6 @@ void Resolver::slotReadyClient()
} }
} }
void Resolver::slotClientDisconnected()
{
QTcpSocket* clientSocket = static_cast<QTcpSocket*>(sender());
auto idUserSock = clientSocket->socketDescriptor();
m_sockets.remove(idUserSock);
}
void Resolver::convertStrToRaw(const QString &str, Address &array) void Resolver::convertStrToRaw(const QString &str, Address &array)
{ {
inet_pton(AF_INET6, str.toUtf8(), (void*)array.data()); inet_pton(AF_INET6, str.toUtf8(), (void*)array.data());
@ -153,9 +129,9 @@ QString Resolver::decodeMeshToIP(const QString &meshname)
std::vector<uint8_t> raw; std::vector<uint8_t> raw;
try { try {
raw = cppcodec::base32_rfc4648::decode(mesh); raw = cppcodec::base32_rfc4648::decode(mesh);
} catch (cppcodec::padding_error) { } catch (cppcodec::padding_error const&) {
return QString(); return QString();
} catch (cppcodec::symbol_error) { } catch (cppcodec::symbol_error const&) {
return QString(); return QString();
} }

View File

@ -14,8 +14,6 @@ class Resolver : public QObject
Q_OBJECT Q_OBJECT
public: public:
explicit Resolver(const QString&, quint16, QObject* parent = nullptr); explicit Resolver(const QString&, quint16, QObject* parent = nullptr);
void closeSocketViaDescriptor(int id);
QSharedPointer<QTcpSocket> getSocketViaDescriptor(int id);
void disableAPI(); void disableAPI();
void disableWebPage(); void disableWebPage();
@ -24,14 +22,11 @@ public:
private slots: private slots:
void slotNewUser(); void slotNewUser();
void slotReadyClient(); void slotReadyClient();
void slotClientDisconnected();
private: private:
QTcpServer* m_tcpServer; QTcpServer* m_tcpServer;
QHostAddress m_address; QHostAddress m_address;
quint16 m_port; quint16 m_port;
QMap<int, QSharedPointer<QTcpSocket>> m_sockets;
void convertStrToRaw(const QString& str, Address& array); void convertStrToRaw(const QString& str, Address& array);
QString getBase32(const Address& rawAddr); QString getBase32(const Address& rawAddr);

View File

@ -2,7 +2,7 @@
#define VERSION_H #define VERSION_H
#include <QString> #include <QString>
const QString VERSION = "0.1.0"; const QString VERSION = "0.1.1";
const QString COPYRIGHT = "GPLv3 (c) 2021, acetone"; const QString COPYRIGHT = "GPLv3 (c) 2021, acetone";
#endif // VERSION_H #endif // VERSION_H