From 0897b1bc9efed6d3089bd3deb1f37380be02d185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Sun, 12 Nov 2017 14:41:08 +0100 Subject: [PATCH] Implement WinAPIEventDriverSockets.cancelConnectStream. --- source/eventcore/drivers/winapi/sockets.d | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/eventcore/drivers/winapi/sockets.d b/source/eventcore/drivers/winapi/sockets.d index 7015df0..4e413d1 100644 --- a/source/eventcore/drivers/winapi/sockets.d +++ b/source/eventcore/drivers/winapi/sockets.d @@ -84,7 +84,15 @@ final class WinAPIEventDriverSockets : EventDriverSockets { final override void cancelConnectStream(StreamSocketFD sock) { - assert(false, "Not implemented"); + assert(sock != StreamSocketFD.invalid, "Invalid socket descriptor"); + + with (m_sockets[sock].streamSocket) { + assert(state == ConnectionState.connecting, + "Must be in 'connecting' state when calling cancelConnection."); + + clearSocketSlot(sock); + () @trusted { closesocket(sock); } (); + } } override StreamSocketFD adoptStream(int socket)