hMailServer.Core.MemoryStreamWithFileBacking.Write C# (CSharp) Method

Write() public method

public Write ( byte buffer, int offset, int count ) : void
buffer byte
offset int
count int
return void
        public override void Write(byte[] buffer, int offset, int count)
        {
            if (_fileStream == null)
            {
                if (_memoryStream.Length + count > _memoryBufferMaxSize)
                {
                    // Swap from memory to file
                    _fileStream = File.Open(_backingFilePath, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.ReadWrite);

                    _memoryStream.Seek(0, SeekOrigin.Begin);
                    _memoryStream.WriteTo(_fileStream);
                    _memoryStream.Dispose();
                }
            }

            CurrentStream.Write(buffer, offset, count);
        }