TCPServer: pass connection fails to clients
This commit is contained in:
@@ -895,6 +895,7 @@ void MergeMiningClientTari::TariClient::break_pairing()
|
||||
{
|
||||
if (is_paired()) {
|
||||
m_pairedClient->m_pairedClient = nullptr;
|
||||
m_pairedClient->m_pairedClientSavedResetCounter = std::numeric_limits<uint32_t>::max();
|
||||
m_pairedClient->close();
|
||||
}
|
||||
m_pairedClient = nullptr;
|
||||
|
||||
@@ -116,6 +116,7 @@ private:
|
||||
void reset() override { break_pairing(); }
|
||||
[[nodiscard]] bool on_connect() override;
|
||||
[[nodiscard]] bool on_read(const char* data, uint32_t size) override;
|
||||
void on_connect_failed(int /*err*/) override { break_pairing(); }
|
||||
void on_disconnected() override { break_pairing(); }
|
||||
|
||||
alignas(8) char m_buf[BUF_SIZE];
|
||||
|
||||
@@ -766,6 +766,7 @@ void TCPServer::on_connect(uv_connect_t* req, int status)
|
||||
LOGWARN(5, "failed to connect to " << static_cast<char*>(client->m_addrString) << ", error " << uv_err_name(status));
|
||||
}
|
||||
server->on_connect_failed(client->m_isV6, client->m_addr, client->m_port);
|
||||
client->on_connect_failed(status);
|
||||
uv_close(reinterpret_cast<uv_handle_t*>(&client->m_socket), on_connection_error);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ public:
|
||||
[[nodiscard]] virtual bool on_connect() = 0;
|
||||
[[nodiscard]] virtual bool on_read(const char* data, uint32_t size) = 0;
|
||||
[[nodiscard]] bool on_proxy_handshake(const char* data, uint32_t size);
|
||||
virtual void on_connect_failed(int /*err*/) {}
|
||||
virtual void on_read_failed(int /*err*/) {}
|
||||
virtual void on_disconnected() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user