[Socket] Move Poll related methods to their region
authorLudovic Henry <ludovic.henry@xamarin.com>
Thu, 9 Apr 2015 10:26:37 +0000 (11:26 +0100)
committerLudovic Henry <ludovic.henry@xamarin.com>
Thu, 9 Apr 2015 13:37:27 +0000 (14:37 +0100)
mcs/class/System/System.Net.Sockets/Socket.cs
mcs/class/System/System.Net.Sockets/Socket_2_1.cs

index ab1e1141e50231a56d123be44d21b80e33c7a2fb..3fd88ca7ed409416d35519887b4cb3860d0feae2 100644 (file)
@@ -799,6 +799,48 @@ namespace System.Net.Sockets
 
 #endregion
 
+#region Poll
+
+               public bool Poll (int time_us, SelectMode mode)
+               {
+                       ThrowIfDisposedAndClosed ();
+
+                       if (mode != SelectMode.SelectRead && mode != SelectMode.SelectWrite && mode != SelectMode.SelectError)
+                               throw new NotSupportedException ("'mode' parameter is not valid.");
+
+                       int error;
+                       bool result = Poll_internal (safe_handle, mode, time_us, out error);
+
+                       if (error != 0)
+                               throw new SocketException (error);
+
+                       if (mode == SelectMode.SelectWrite && result && !is_connected) {
+                               /* Update the is_connected state; for non-blocking Connect()
+                                * this is when we can find out that the connect succeeded. */
+                               if ((int) GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Error) == 0)
+                                       is_connected = true;
+                       }
+
+                       return result;
+               }
+
+               static bool Poll_internal (SafeSocketHandle safeHandle, SelectMode mode, int timeout, out int error)
+               {
+                       bool release = false;
+                       try {
+                               safeHandle.DangerousAddRef (ref release);
+                               return Poll_internal (safeHandle.DangerousGetHandle (), mode, timeout, out error);
+                       } finally {
+                               if (release)
+                                       safeHandle.DangerousRelease ();
+                       }
+               }
+
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern static bool Poll_internal (IntPtr socket, SelectMode mode, int timeout, out int error);
+
+#endregion
+
 #region Accept
 
                public Socket Accept()
@@ -2953,35 +2995,6 @@ namespace System.Net.Sockets
                        return IOControl ((int) ioControlCode, optionInValue, optionOutValue);
                }
 
-               public bool Poll (int time_us, SelectMode mode)
-               {
-                       if (is_disposed && is_closed)
-                               throw new ObjectDisposedException (GetType ().ToString ());
-
-                       if (mode != SelectMode.SelectRead &&
-                           mode != SelectMode.SelectWrite &&
-                           mode != SelectMode.SelectError)
-                               throw new NotSupportedException ("'mode' parameter is not valid.");
-
-                       int error;
-                       bool result = Poll_internal (safe_handle, mode, time_us, out error);
-                       if (error != 0)
-                               throw new SocketException (error);
-
-                       if (mode == SelectMode.SelectWrite && result && !is_connected) {
-                               /* Update the is_connected state; for
-                                * non-blocking Connect()s this is
-                                * when we can find out that the
-                                * connect succeeded.
-                                */
-                               if ((int)GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Error) == 0) {
-                                       is_connected = true;
-                               }
-                       }
-                       
-                       return result;
-               }
-
                void ThrowIfDisposedAndClosed (Socket socket)
                {
                        if (socket.is_disposed && socket.is_closed)
index 2f4e3442b4a73b4726c1bfea02a4507a3fca1e17..05484b14c1934e0b1b8fe372770e45ed95917fcc 100644 (file)
@@ -131,21 +131,6 @@ namespace System.Net.Sockets {
                        ((IDisposable) this).Dispose ();
                }
 
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               extern static bool Poll_internal (IntPtr socket, SelectMode mode, int timeout, out int error);
-
-               private static bool Poll_internal (SafeSocketHandle safeHandle, SelectMode mode, int timeout, out int error)
-               {
-                       bool release = false;
-                       try {
-                               safeHandle.DangerousAddRef (ref release);
-                               return Poll_internal (safeHandle.DangerousGetHandle (), mode, timeout, out error);
-                       } finally {
-                               if (release)
-                                       safeHandle.DangerousRelease ();
-                       }
-               }
-
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                private extern static void Shutdown_internal (IntPtr socket, SocketShutdown how, out int error);