Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    VirtualFileStream Class

    Namespace: Stride.Core.Serialization
    Assembly: Stride.Core.IO.dll

    A multithreaded wrapper over a Stream, used by the VirtualFileSystem. It also allows restricted access to subparts of the Stream (useful for serialization and data streaming).

    System.Object → System.MarshalByRefObject → System.IO.Stream → NativeStream → VirtualFileStream
    Derived from VirtualFileStream:

    public class VirtualFileStream : NativeStream, IDisposable
    Name Description
    Constructors
    VirtualFileStream(Stream, Int64, Int64, Boolean, Boolean)

    Initializes a new instance of the VirtualFileStream class.

    Fields
    endPosition
    startPosition
    virtualFileStream
    Properties
    CanRead
    CanSeek
    CanWrite
    EndPosition
    InternalStream
    Length
    Position
    StartPosition
    Methods
    Dispose(Boolean)
    Flush()
    Read(Byte[], Int32, Int32)
    ReadByte()
    Seek(Int64, SeekOrigin)
    SetLength(Int64)
    Write(Byte[], Int32, Int32)
    WriteByte(Byte)
    | Improve this Doc View Source

    Constructors


    VirtualFileStream(Stream, Int64, Int64, Boolean, Boolean)

    Initializes a new instance of the VirtualFileStream class.

    public VirtualFileStream(Stream internalStream, long startPosition = 0L, long endPosition = -1L, bool disposeInternalStream = true, bool seekToBeginning = true)
    Parameters
    Type Name Description
    System.IO.Stream internalStream

    The internal stream.

    System.Int64 startPosition

    The start position.

    System.Int64 endPosition

    The end position.

    System.Boolean disposeInternalStream

    if set to true this instance has ownership of the internal stream and will dispose it].

    System.Boolean seekToBeginning
    Exceptions
    Type Condition
    System.ArgumentException

    startPosition and endPosition doesn't fit inside current bounds

    System.NotSupportedException

    Attempted to create a VirtualFileStream from a Stream which doesn't support seeking.

    | Improve this Doc View Source

    Fields


    endPosition

    protected readonly long endPosition
    Field Value
    Type Description
    System.Int64

    startPosition

    protected readonly long startPosition
    Field Value
    Type Description
    System.Int64

    virtualFileStream

    protected VirtualFileStream virtualFileStream
    Field Value
    Type Description
    VirtualFileStream
    | Improve this Doc View Source

    Properties


    CanRead

    public override bool CanRead { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    System.IO.Stream.CanRead

    CanSeek

    public override bool CanSeek { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    System.IO.Stream.CanSeek

    CanWrite

    public override bool CanWrite { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    System.IO.Stream.CanWrite

    EndPosition

    public long EndPosition { get; }
    Property Value
    Type Description
    System.Int64

    InternalStream

    public Stream InternalStream { get; protected set; }
    Property Value
    Type Description
    System.IO.Stream

    Length

    public override long Length { get; }
    Property Value
    Type Description
    System.Int64
    Overrides
    System.IO.Stream.Length

    Position

    public override long Position { get; set; }
    Property Value
    Type Description
    System.Int64
    Overrides
    System.IO.Stream.Position

    StartPosition

    public long StartPosition { get; }
    Property Value
    Type Description
    System.Int64
    | Improve this Doc View Source

    Methods


    Dispose(Boolean)

    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    System.Boolean disposing
    Overrides
    System.IO.Stream.Dispose(System.Boolean)

    Flush()

    public override void Flush()
    Overrides
    System.IO.Stream.Flush()

    Read(Byte[], Int32, Int32)

    public override int Read(byte[] buffer, int offset, int count)
    Parameters
    Type Name Description
    System.Byte[] buffer
    System.Int32 offset
    System.Int32 count
    Returns
    Type Description
    System.Int32
    Overrides
    System.IO.Stream.Read(System.Byte[], System.Int32, System.Int32)

    ReadByte()

    public override int ReadByte()
    Returns
    Type Description
    System.Int32
    Overrides
    System.IO.Stream.ReadByte()

    Seek(Int64, SeekOrigin)

    public override long Seek(long offset, SeekOrigin origin)
    Parameters
    Type Name Description
    System.Int64 offset
    System.IO.SeekOrigin origin
    Returns
    Type Description
    System.Int64
    Overrides
    System.IO.Stream.Seek(System.Int64, System.IO.SeekOrigin)

    SetLength(Int64)

    public override void SetLength(long value)
    Parameters
    Type Name Description
    System.Int64 value
    Overrides
    System.IO.Stream.SetLength(System.Int64)

    Write(Byte[], Int32, Int32)

    public override void Write(byte[] buffer, int offset, int count)
    Parameters
    Type Name Description
    System.Byte[] buffer
    System.Int32 offset
    System.Int32 count
    Overrides
    System.IO.Stream.Write(System.Byte[], System.Int32, System.Int32)

    WriteByte(Byte)

    public override void WriteByte(byte value)
    Parameters
    Type Name Description
    System.Byte value
    Overrides
    System.IO.Stream.WriteByte(System.Byte)

    Inherited Members

    NativeStream.NativeStreamBufferSize
    NativeStream.nativeStreamBuffer
    NativeStream.ReadUInt16()
    NativeStream.ReadUInt32()
    NativeStream.ReadUInt64()
    NativeStream.Write(UInt16)
    NativeStream.Write(UInt32)
    NativeStream.Write(UInt64)
    NativeStream.Read(IntPtr, Int32)
    NativeStream.Write(IntPtr, Int32)
    System.IO.Stream.Null
    System.IO.Stream.BeginRead(System.Byte[], System.Int32, System.Int32, System.AsyncCallback, System.Object)
    System.IO.Stream.BeginWrite(System.Byte[], System.Int32, System.Int32, System.AsyncCallback, System.Object)
    System.IO.Stream.Close()
    System.IO.Stream.CopyTo(System.IO.Stream)
    System.IO.Stream.CopyTo(System.IO.Stream, System.Int32)
    System.IO.Stream.CopyToAsync(System.IO.Stream)
    System.IO.Stream.CopyToAsync(System.IO.Stream, System.Int32)
    System.IO.Stream.CopyToAsync(System.IO.Stream, System.Int32, System.Threading.CancellationToken)
    System.IO.Stream.CreateWaitHandle()
    System.IO.Stream.Dispose()
    System.IO.Stream.EndRead(System.IAsyncResult)
    System.IO.Stream.EndWrite(System.IAsyncResult)
    System.IO.Stream.FlushAsync()
    System.IO.Stream.FlushAsync(System.Threading.CancellationToken)
    System.IO.Stream.ObjectInvariant()
    System.IO.Stream.ReadAsync(System.Byte[], System.Int32, System.Int32)
    System.IO.Stream.ReadAsync(System.Byte[], System.Int32, System.Int32, System.Threading.CancellationToken)
    System.IO.Stream.Synchronized(System.IO.Stream)
    System.IO.Stream.WriteAsync(System.Byte[], System.Int32, System.Int32)
    System.IO.Stream.WriteAsync(System.Byte[], System.Int32, System.Int32, System.Threading.CancellationToken)
    System.IO.Stream.CanTimeout
    System.IO.Stream.ReadTimeout
    System.IO.Stream.WriteTimeout
    System.MarshalByRefObject.GetLifetimeService()
    System.MarshalByRefObject.InitializeLifetimeService()
    System.MarshalByRefObject.MemberwiseClone(System.Boolean)

    Extension Methods

    SocketExtensions.ReadAllAsync(Stream, Byte[], Int32, Int32)
    SocketExtensions.WriteInt32Async(Stream, Int32)
    SocketExtensions.ReadInt32Async(Stream)
    SocketExtensions.WriteInt16Async(Stream, Int16)
    SocketExtensions.ReadInt16Async(Stream)
    SocketExtensions.Write7BitEncodedInt(Stream, Int32)
    SocketExtensions.Read7BitEncodedInt(Stream)
    SocketExtensions.WriteStringAsync(Stream, String)
    SocketExtensions.ReadStringAsync(Stream)
    SocketExtensions.WriteGuidAsync(Stream, Guid)
    SocketExtensions.ReadGuidAsync(Stream)
    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    NativeStreamExtensions.ToNativeStream(Stream)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation