Пример #1
0
 public Overlapped()
 {
     // The split between Overlapped and OverlappedData should not be needed. It is required by the implementation of
     // async GC handles currently. It expects OverlappedData to be a sealed type.
     _overlappedData             = new OverlappedData();
     _overlappedData._overlapped = this;
 }
Пример #2
0
        public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            ArgumentNullException.ThrowIfNull(nativeOverlappedPtr);

            OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr)._overlapped !._overlappedData = null !;
            OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr);
        }
Пример #3
0
        public static unsafe Overlapped Unpack(NativeOverlapped *nativeOverlappedPtr)
        {
            if (nativeOverlappedPtr == null)
            {
                throw new ArgumentNullException(nameof(nativeOverlappedPtr));
            }

            return(OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr)._overlapped);
        }
 public unsafe void ThreadPoolIODequeue(NativeOverlapped *nativeOverlapped)
 {
     if (IsEnabled(EventLevel.Verbose, Keywords.ThreadingKeyword | Keywords.ThreadTransferKeyword))
     {
         ThreadPoolIODequeue(
             (IntPtr)nativeOverlapped,
             (IntPtr)OverlappedData.GetOverlappedFromNative(nativeOverlapped).GetHashCode());
     }
 }
Пример #5
0
        public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr)
        {
            if (nativeOverlappedPtr == null)
            {
                throw new ArgumentNullException(nameof(nativeOverlappedPtr));
            }

            OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr)._overlapped._overlappedData = null;
            OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr);
        }
Пример #6
0
 public Overlapped()
 {
     _overlappedData             = new OverlappedData();
     _overlappedData._overlapped = this;
 }
Пример #7
0
        public static unsafe Overlapped Unpack(NativeOverlapped *nativeOverlappedPtr)
        {
            ArgumentNullException.ThrowIfNull(nativeOverlappedPtr);

            return(OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr)._overlapped !);
        }