Source code

Revision control

Copy as Markdown

Other Tools

// OutBuffer.cs↩
namespace SevenZip.Buffer↩
{↩
public class OutBuffer↩
{↩
byte[] m_Buffer;↩
uint m_Pos;↩
uint m_BufferSize;↩
System.IO.Stream m_Stream;↩
ulong m_ProcessedSize;↩
public OutBuffer(uint bufferSize)↩
{↩
m_Buffer = new byte[bufferSize];↩
m_BufferSize = bufferSize;↩
}↩
public void SetStream(System.IO.Stream stream) { m_Stream = stream; }↩
public void FlushStream() { m_Stream.Flush(); }↩
public void CloseStream() { m_Stream.Close(); }↩
public void ReleaseStream() { m_Stream = null; }↩
public void Init()↩
{↩
m_ProcessedSize = 0;↩
m_Pos = 0;↩
}↩
public void WriteByte(byte b)↩
{↩
m_Buffer[m_Pos++] = b;↩
if (m_Pos >= m_BufferSize)↩
FlushData();↩
}↩
public void FlushData()↩
{↩
if (m_Pos == 0)↩
return;↩
m_Stream.Write(m_Buffer, 0, (int)m_Pos);↩
m_Pos = 0;↩
}↩
public ulong GetProcessedSize() { return m_ProcessedSize + m_Pos; }↩
}↩
}↩