public static SocketError AcceptAsync(Socket socket, SafeCloseSocket handle, SafeCloseSocket acceptHandle, int receiveSize, int socketAddressSize, AcceptOverlappedAsyncResult asyncResult)
{
Debug.Assert(acceptHandle == null, $"Unexpected acceptHandle: {acceptHandle}");
Debug.Assert(receiveSize == 0, $"Unexpected receiveSize: {receiveSize}");
byte[] socketAddressBuffer = new byte[socketAddressSize];
return handle.AsyncContext.AcceptAsync(socketAddressBuffer, socketAddressSize, asyncResult.CompletionCallback);
}