// ReleasePins() should be called exactly once.  It must be called before Dispose() is called, which means it must be called
 // before an object (HttpListenerReqeust) which closes the RequestContext on demand is returned to the application.
 internal void ReleasePins()
 {
     GlobalLog.Assert(m_MemoryBlob != null || m_BackingBuffer == null, "RequestContextBase::ReleasePins()|ReleasePins() called twice.");
     m_OriginalBlobAddress = m_MemoryBlob;
     UnsetBlob();
     OnReleasePins();
 }
Example #2
0
 protected unsafe void UnsetBlob()
 {
     if (this.m_MemoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     this.m_MemoryBlob = null;
 }
 protected unsafe void UnsetBlob()
 {
     if (this.m_MemoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     this.m_MemoryBlob = null;
 }
 private void UnsetBlob()
 {
     if (_memoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     _memoryBlob = null;
 }
Example #5
0
 protected unsafe void BaseConstruction(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob)
 {
     if (requestBlob == null)
     {
         GC.SuppressFinalize(this);
     }
     else
     {
         this.m_MemoryBlob = requestBlob;
     }
 }
 protected unsafe void BaseConstruction(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob)
 {
     if (requestBlob == null)
     {
         GC.SuppressFinalize(this);
     }
     else
     {
         this.m_MemoryBlob = requestBlob;
     }
 }
 internal NativeRequestContext(AsyncAcceptContext result)
 {
     _acceptResult = result;
     UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob = Allocate(0);
     if (requestBlob == null)
     {
         GC.SuppressFinalize(this);
     }
     else
     {
         _memoryBlob = requestBlob;
     }
 }
Example #8
0
 protected unsafe void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob)
 {
     if (requestBlob == null)
     {
         this.UnsetBlob();
     }
     else
     {
         if (this.m_MemoryBlob == null)
         {
             GC.ReRegisterForFinalize(this);
         }
         this.m_MemoryBlob = requestBlob;
     }
 }
 protected unsafe void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob)
 {
     if (requestBlob == null)
     {
         this.UnsetBlob();
     }
     else
     {
         if (this.m_MemoryBlob == null)
         {
             GC.ReRegisterForFinalize(this);
         }
         this.m_MemoryBlob = requestBlob;
     }
 }
        private void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST *requestBlob)
        {
            Debug.Assert(_memoryBlob != null || _backingBuffer == null, "RequestContextBase::Dispose()|SetBlob() called after ReleasePins().");
            if (requestBlob == null)
            {
                UnsetBlob();
                return;
            }

            if (_memoryBlob == null)
            {
                GC.ReRegisterForFinalize(this);
            }
            _memoryBlob = requestBlob;
        }
Example #11
0
 internal unsafe void ReleasePins()
 {
     this.m_OriginalBlobAddress = this.m_MemoryBlob;
     this.UnsetBlob();
     this.OnReleasePins();
 }
 internal unsafe void ReleasePins()
 {
     this.m_OriginalBlobAddress = this.m_MemoryBlob;
     this.UnsetBlob();
     this.OnReleasePins();
 }
 protected void UnsetBlob()
 {
     if (m_MemoryBlob != null)
     {
         GC.SuppressFinalize(this);
     }
     m_MemoryBlob = null;
 }
        protected void SetBlob(UnsafeNclNativeMethods.HttpApi.HTTP_REQUEST* requestBlob)
        {
            GlobalLog.Assert(m_MemoryBlob != null || m_BackingBuffer == null, "RequestContextBase::Dispose()|SetBlob() called after ReleasePins().");
            if (requestBlob == null)
            {
                UnsetBlob();
                return;
            }

            if (m_MemoryBlob == null)
            {
                GC.ReRegisterForFinalize(this);
            }
            m_MemoryBlob = requestBlob;
        }