Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }