private void ShutdownSocket(SocketShutdown how)
{
if (_socket == null)
return;
lock (_socketShutdownAndCloseLock)
{
var socket = _socket;
if (!socket.IsConnected())
return;
try
{
socket.Shutdown(how);
}
catch (SocketException ex)
{
// TODO: log as warning
DiagnosticAbstraction.Log("Failure shutting down socket: " + ex);
}
}
}