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

@ -171,20 +171,15 @@ namespace ix
}
// Server
WebSocketInitResult WebSocketTransport::connectToSocket(int fd, int timeoutSecs)
WebSocketInitResult WebSocketTransport::connectToSocket(std::shared_ptr<Socket> socket,
int timeoutSecs)
{
std::lock_guard<std::mutex> lock(_socketMutex);
// Server should not mask the data it sends to the client
_useMask = false;
std::string errorMsg;
_socket = createSocket(fd, errorMsg);
if (!_socket)
{
return WebSocketInitResult(false, 0, errorMsg);
}
_socket = socket;
WebSocketHandshake webSocketHandshake(_requestInitCancellation,
_socket,
@ -192,7 +187,7 @@ namespace ix
_perMessageDeflateOptions,
_enablePerMessageDeflate);
auto result = webSocketHandshake.serverHandshake(fd, timeoutSecs);
auto result = webSocketHandshake.serverHandshake(timeoutSecs);
if (result.success)
{
setReadyState(ReadyState::OPEN);