void Poll (SelectMode mode, CancellationToken cancellationToken)
{
#if NETFX_CORE
cancellationToken.ThrowIfCancellationRequested ();
#else
if (!cancellationToken.CanBeCanceled)
return;
if (Socket != null) {
do {
cancellationToken.ThrowIfCancellationRequested ();
// wait 1/4 second and then re-check for cancellation
} while (!Socket.Poll (250000, mode));
} else {
cancellationToken.ThrowIfCancellationRequested ();
}
#endif
}