예제 #1
0
        /// <summary>
        /// IDisposable pattern - dispose of managed/unmanaged resources
        /// </summary>
        /// <param name="disposeManagedResources">true to dispose of managed resources as well as unmanaged.</param>
        protected virtual void Dispose(bool disposeManagedResources)
        {
            if (Disposed)
            {
                return;
            }

            if (disposeManagedResources)
            {
                if (WriteBuffer != null)
                {
                    WriteBuffer.Dispose();
                    WriteBuffer = null;
                }

                if (ReadBuffer != null)
                {
                    ReadBuffer.Dispose();
                    ReadBuffer = null;
                }

                if (masterMutex != null)
                {
                    masterMutex.Close();
                    masterMutex.Dispose();
                    masterMutex = null;
                }

                Disposed = true;
            }
        }
예제 #2
0
    private void ClearReadBufferBeforeCurrentPosition()
    {
        MemoryStream TempStream = new MemoryStream();

        ReadBuffer.CopyTo(TempStream);
        ReadBuffer.Dispose();
        ReadBuffer = TempStream;
    }
예제 #3
0
    private void ClearReadBufferBeforeCurrentPosition()
    {
        MemoryStream TempStream = new MemoryStream();

        // ReadBuffer.WriteTo(TempStream); // .NET 3.5 only has WriteTo, not CopyTo
        CopyTo(ReadBuffer, TempStream);
        ReadBuffer.Dispose();
        ReadBuffer = TempStream;
    }
예제 #4
0
 public void Dispose()
 {
     _data.Dispose();
     ReadBuffer.Dispose();
     WriteBuffer.Dispose();
 }