Servertalk implementation wip, added optional support for pub-key authenticated encryption (via libsodium), not backwards compatible.

This commit is contained in:
KimLS
2016-10-23 17:55:19 -07:00
parent e29ca88a76
commit 1d1df3bf7a
25 changed files with 822 additions and 449 deletions
+10 -5
View File
@@ -107,12 +107,17 @@ void EQ::Net::TCPConnection::OnDisconnect(std::function<void(TCPConnection*)> cb
void EQ::Net::TCPConnection::Disconnect()
{
if (m_socket) {
uv_close((uv_handle_t*)m_socket, on_close_handle);
m_socket->data = this;
uv_close((uv_handle_t*)m_socket, [](uv_handle_t* handle) {
TCPConnection *connection = (TCPConnection*)handle->data;
if (connection->m_on_disconnect_cb) {
connection->m_on_disconnect_cb(connection);
}
delete handle;
});
m_socket = nullptr;
if (m_on_disconnect_cb) {
m_on_disconnect_cb(this);
}
}
}