public unsafe NameInfoRequest Start( IPEndPoint endPoint, Action <NameInfoRequest, NameInfo> callback, NameInfoFlags flags = NameInfoFlags.None) { if (endPoint is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.endPoint); } if (callback is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.callback); } _handle.Validate(); _requestCallback = callback; IntPtr internalHandle = InternalHandle; IntPtr loopHandle = ((uv_getaddrinfo_t *)internalHandle)->loop; NativeMethods.GetNameInfo( loopHandle, internalHandle, endPoint, flags, NameInfoCallback); return(this); }
internal static void GetNameInfo( IntPtr loopHandle, IntPtr handle, IPEndPoint endPoint, NameInfoFlags flags, uv_getnameinfo_cb callback) { Debug.Assert(loopHandle != IntPtr.Zero); Debug.Assert(handle != IntPtr.Zero); Debug.Assert(endPoint != null); GetSocketAddress(endPoint, out sockaddr addr); int result = uv_getnameinfo(loopHandle, handle, callback, ref addr, (int)flags); ThrowIfError(result); }
internal static void GetNameInfo( IntPtr loopHandle, IntPtr handle, IPEndPoint endPoint, NameInfoFlags flags, uv_getnameinfo_cb callback) { Contract.Requires(loopHandle != IntPtr.Zero); Contract.Requires(handle != IntPtr.Zero); Contract.Requires(endPoint != null); sockaddr addr; GetSocketAddress(endPoint, out addr); int result = uv_getnameinfo(loopHandle, handle, callback, ref addr, (int)flags); if (result < 0) { throw CreateError((uv_err_code)result); } }
public unsafe NameInfoRequest Start( IPEndPoint endPoint, Action <NameInfoRequest, NameInfo> callback, NameInfoFlags flags = NameInfoFlags.None) { Contract.Requires(endPoint != null); Contract.Requires(callback != null); this.handle.Validate(); this.requestCallback = callback; IntPtr internalHandle = this.InternalHandle; IntPtr loopHandle = ((uv_getaddrinfo_t *)internalHandle)->loop; NativeMethods.GetNameInfo( loopHandle, internalHandle, endPoint, flags, NameInfoCallback); return(this); }