Show / Hide Table of Contents

    Class DotNetFileSystem

    A IUnixFileSystem implementation that uses the standard .NET functionality to access the file system.

    Inheritance
    Object
    DotNetFileSystem
    Implements
    IUnixFileSystem
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: FubarDev.FtpServer.FileSystem.DotNet
    Assembly: FubarDev.FtpServer.FileSystem.DotNet.dll
    Syntax
    public class DotNetFileSystem : IUnixFileSystem

    Constructors

    | Improve this Doc View Source

    DotNetFileSystem(String, Boolean)

    Initializes a new instance of the DotNetFileSystem class.

    Declaration
    public DotNetFileSystem(string rootPath, bool allowNonEmptyDirectoryDelete)
    Parameters
    Type Name Description
    String rootPath

    The path to use as root.

    Boolean allowNonEmptyDirectoryDelete

    Defines whether the deletion of non-empty directories is allowed.

    | Improve this Doc View Source

    DotNetFileSystem(String, Boolean, Int32)

    Initializes a new instance of the DotNetFileSystem class.

    Declaration
    public DotNetFileSystem(string rootPath, bool allowNonEmptyDirectoryDelete, int streamBufferSize)
    Parameters
    Type Name Description
    String rootPath

    The path to use as root.

    Boolean allowNonEmptyDirectoryDelete

    Defines whether the deletion of non-empty directories is allowed.

    Int32 streamBufferSize

    Buffer size to be used in async IO methods.

    Fields

    | Improve this Doc View Source

    DefaultStreamBufferSize

    The default buffer size for copying from one stream to another.

    Declaration
    public static readonly int DefaultStreamBufferSize
    Field Value
    Type Description
    Int32

    Properties

    | Improve this Doc View Source

    FileSystemEntryComparer

    Declaration
    public StringComparer FileSystemEntryComparer { get; }
    Property Value
    Type Description
    StringComparer
    | Improve this Doc View Source

    Root

    Declaration
    public IUnixDirectoryEntry Root { get; }
    Property Value
    Type Description
    IUnixDirectoryEntry
    | Improve this Doc View Source

    SupportsAppend

    Declaration
    public bool SupportsAppend { get; }
    Property Value
    Type Description
    Boolean
    | Improve this Doc View Source

    SupportsNonEmptyDirectoryDelete

    Declaration
    public bool SupportsNonEmptyDirectoryDelete { get; }
    Property Value
    Type Description
    Boolean

    Methods

    | Improve this Doc View Source

    AppendAsync(IUnixFileEntry, Nullable<Int64>, Stream, CancellationToken)

    Declaration
    public Task<IBackgroundTransfer? > AppendAsync(IUnixFileEntry fileEntry, long? startPosition, Stream data, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixFileEntry fileEntry
    Nullable<Int64> startPosition
    Stream data
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<Nullable<IBackgroundTransfer>>
    | Improve this Doc View Source

    CreateAsync(IUnixDirectoryEntry, String, Stream, CancellationToken)

    Declaration
    public Task<IBackgroundTransfer? > CreateAsync(IUnixDirectoryEntry targetDirectory, string fileName, Stream data, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixDirectoryEntry targetDirectory
    String fileName
    Stream data
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<Nullable<IBackgroundTransfer>>
    | Improve this Doc View Source

    CreateDirectoryAsync(IUnixDirectoryEntry, String, CancellationToken)

    Declaration
    public Task<IUnixDirectoryEntry> CreateDirectoryAsync(IUnixDirectoryEntry targetDirectory, string directoryName, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixDirectoryEntry targetDirectory
    String directoryName
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<IUnixDirectoryEntry>
    | Improve this Doc View Source

    GetEntriesAsync(IUnixDirectoryEntry, CancellationToken)

    Declaration
    public Task<IReadOnlyList<IUnixFileSystemEntry>> GetEntriesAsync(IUnixDirectoryEntry directoryEntry, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixDirectoryEntry directoryEntry
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<IReadOnlyList<IUnixFileSystemEntry>>
    | Improve this Doc View Source

    GetEntryByNameAsync(IUnixDirectoryEntry, String, CancellationToken)

    Declaration
    public Task<IUnixFileSystemEntry? > GetEntryByNameAsync(IUnixDirectoryEntry directoryEntry, string name, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixDirectoryEntry directoryEntry
    String name
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<Nullable<IUnixFileSystemEntry>>
    | Improve this Doc View Source

    MoveAsync(IUnixDirectoryEntry, IUnixFileSystemEntry, IUnixDirectoryEntry, String, CancellationToken)

    Declaration
    public Task<IUnixFileSystemEntry> MoveAsync(IUnixDirectoryEntry parent, IUnixFileSystemEntry source, IUnixDirectoryEntry target, string fileName, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixDirectoryEntry parent
    IUnixFileSystemEntry source
    IUnixDirectoryEntry target
    String fileName
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<IUnixFileSystemEntry>
    | Improve this Doc View Source

    OpenReadAsync(IUnixFileEntry, Int64, CancellationToken)

    Declaration
    public Task<Stream> OpenReadAsync(IUnixFileEntry fileEntry, long startPosition, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixFileEntry fileEntry
    Int64 startPosition
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<Stream>
    | Improve this Doc View Source

    ReplaceAsync(IUnixFileEntry, Stream, CancellationToken)

    Declaration
    public Task<IBackgroundTransfer? > ReplaceAsync(IUnixFileEntry fileEntry, Stream data, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixFileEntry fileEntry
    Stream data
    CancellationToken cancellationToken
    Returns
    Type Description
    Task<Nullable<IBackgroundTransfer>>
    | Improve this Doc View Source

    SetMacTimeAsync(IUnixFileSystemEntry, Nullable<DateTimeOffset>, Nullable<DateTimeOffset>, Nullable<DateTimeOffset>, CancellationToken)

    Sets the modify/access/create timestamp of a file system item.

    Declaration
    public Task<IUnixFileSystemEntry> SetMacTimeAsync(IUnixFileSystemEntry entry, DateTimeOffset? modify, DateTimeOffset? access, DateTimeOffset? create, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixFileSystemEntry entry

    The IUnixFileSystemEntry to change the timestamp for.

    Nullable<DateTimeOffset> modify

    The modification timestamp.

    Nullable<DateTimeOffset> access

    The access timestamp.

    Nullable<DateTimeOffset> create

    The creation timestamp.

    CancellationToken cancellationToken

    The cancellation token.

    Returns
    Type Description
    Task<IUnixFileSystemEntry>

    The modified IUnixFileSystemEntry.

    | Improve this Doc View Source

    UnlinkAsync(IUnixFileSystemEntry, CancellationToken)

    Declaration
    public Task UnlinkAsync(IUnixFileSystemEntry entry, CancellationToken cancellationToken)
    Parameters
    Type Name Description
    IUnixFileSystemEntry entry
    CancellationToken cancellationToken
    Returns
    Type Description
    Task

    Implements

    IUnixFileSystem
    • Improve this Doc
    • View Source
    Back to top
    Copyright © 2018 Fubar Development Junker
    Generated by DocFX
    Creative Commons License
    FluentMigrator Documentation by FluentMigrator Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.