class · System.IO

BufferedStream

public class System.IO.BufferedStream : System.IO.Stream

A buffer in front of another stream: small reads and writes become few large ones.

Kind
class
Namespace
System.IO
Assembly
System.Core
Access
public
Source file
Stream.ant

Inheritance

Base classes
Any Stream BufferedStream

Constructors

constructor BufferedStream(stream: System.IO.Stream)
#
constructor BufferedStream(stream: System.IO.Stream, bufferSize: i32)
#

Properties

property UnderlyingStream: System.IO.Stream
#

read-only

The stream behind the buffer.

property BufferSize: i32
#

read-only

property CanRead: bool
#

read-only

property CanWrite: bool
#

read-only

property CanSeek: bool
#

read-only

property Length: i64
#

read-only

property Position: i64
#

Methods

method Read(target: u8[], offset: i32, count: i32) -> i32
#

override

method ReadByte() -> i32
#

override

method Write(source: u8[], offset: i32, count: i32) -> void
#

override

method WriteByte(value: u8) -> void
#

override

method Seek(offset: i64, origin: System.IO.SeekOrigin) -> i64
#

override

method SetLength(length: i64) -> void
#

override

method Flush() -> void
#

override

method Close() -> void
#

override

Private and internal members (7)

field inner: System.IO.Stream
#

private

field buffer: u8[]
#

private

field readAt: i32
#

private

Bytes read ahead: buffer[readAt..readEnd].

field readEnd: i32
#

private

field writeEnd: i32
#

private

Bytes not written yet: buffer[0..writeEnd].

method FlushWrites() -> void
#

private

method DropReads() -> void
#

private

Gives back the bytes read ahead (moving the inner stream back to where this one is).

Inherited members (11)

Source

BufferedStream as Larva HIR, decompiled from its Larva HIR.

System.IO.BufferedStream.hir
// A buffer in front of another stream: small reads and writes become few large ones.
public class System.IO.BufferedStream : System.IO.Stream
{
    field inner: System.IO.Stream
    field buffer: u8[]
    // Bytes read ahead: buffer[readAt..readEnd].
    field readAt: i32
    field readEnd: i32
    // Bytes not written yet: buffer[0..writeEnd].
    field writeEnd: i32
    method FlushWrites() -> void
    // Gives back the bytes read ahead (moving the inner stream back to where this one is).
    method DropReads() -> void
    constructor BufferedStream(stream: System.IO.Stream)
    constructor BufferedStream(stream: System.IO.Stream, bufferSize: i32)
    method Read(target: u8[], offset: i32, count: i32) -> i32
    method ReadByte() -> i32
    method Write(source: u8[], offset: i32, count: i32) -> void
    method WriteByte(value: u8) -> void
    method Seek(offset: i64, origin: System.IO.SeekOrigin) -> i64
    method SetLength(length: i64) -> void
    method Flush() -> void
    method Close() -> void
    // The stream behind the buffer.
    property UnderlyingStream: System.IO.Stream
    property BufferSize: i32
    property CanRead: bool
    property CanWrite: bool
    property CanSeek: bool
    property Length: i64
    property Position: i64
}
Esc