SocketServer::handleConnection takes an std::shared_ptr<Socket> instead of a file descriptor

This commit is contained in:
Benjamin Sergeant
2019-09-30 21:48:55 -07:00
parent e5c8e2e7f4
commit 313949f087
14 changed files with 47 additions and 49 deletions

View File

@ -63,7 +63,8 @@ namespace ix
_onConnectionCallback = callback;
}
void WebSocketServer::handleConnection(int fd, std::shared_ptr<ConnectionState> connectionState)
void WebSocketServer::handleConnection(std::shared_ptr<Socket> socket,
std::shared_ptr<ConnectionState> connectionState)
{
auto webSocket = std::make_shared<WebSocket>();
_onConnectionCallback(webSocket, connectionState);
@ -81,7 +82,7 @@ namespace ix
_clients.insert(webSocket);
}
auto status = webSocket->connectToSocket(fd, _handshakeTimeoutSecs);
auto status = webSocket->connectToSocket(socket, _handshakeTimeoutSecs);
if (status.success)
{
// Process incoming messages and execute callbacks
@ -107,8 +108,6 @@ namespace ix
logInfo("WebSocketServer::handleConnection() done");
connectionState->setTerminated();
Socket::closeSocket(fd);
}
std::set<std::shared_ptr<WebSocket>> WebSocketServer::getClients()