[This is preliminary documentation and is subject to change.]
Provides abstraction for working with varios file systems like Amazon S3, NFTS, FDFS, ACFS
Classes
Class | Description | |
---|---|---|
![]() | DeleteFilesJob |
Represents a job(a scheduled event) which deletes FS files
|
![]() | FileSystem |
Provides a base for various file system abstractions.
FileSystem abstractions are mostly useful for working with components/classes that may need to inter-operate not only with local file system
but also with distributed systems like ApacheHDFS, SVN, GIT, or Aum Cluster Big-Transactional File System (BoltFS).
NFX library provides compatibility wrapper 'NFX.IO.FileSystem.Local.LocalFileSystem' for access to local machine file system
(which is based on this class and is implemented using a traditional System.IO.* set of classes).
The FileSystem abstraction supports the following concepts: versioning, transactions, metadata, security; however it does not guarantee that
every implementation is capable of providing all of these functions. Query "GeneralCapabilities" and "InstanceCapabilities" to see what functions
are supported by a particular instance.
This class is not thread-safe unless stated otherwise on method level, however multiple threads are allowed to obtain their own FileSystemSession
object via a call to StartSession() which is thread safe
|
![]() | FileSystemDirectory |
Represents a directory item in a file system. This class is NOT thread-safe
|
![]() | FileSystemException |
General NFX file system specific exception
|
![]() | FileSystemFile |
Represents a file in a file system. This class is NOT thread-safe
|
![]() | FileSystemSession |
Represents a user-impersonated session of working with a file system. This class is NOT thread-safe
|
![]() | FileSystemSessionConnectParams |
Provides parameters for new sessions establishment
|
![]() | FileSystemSessionItem |
Represents an abstraction for items kept in a file system - i.e. directories and files.This class is NOT thread-safe
|
![]() | FileSystemStarter |
Represents a starter that launches file systems on startup
|
![]() | FileSystemStream |
Represents a stream that can work with contents of FileSystem. This class is NOT thread-safe
|
Interfaces
Interface | Description | |
---|---|---|
![]() | IFileSystem |
Stipulates contract for various file system abstractions.
FileSystem abstractions are mostly useful for working with components/classes that may need to inter-operate not only with local file system
but also with distributed systems like ApacheHDFS, SVN, GIT, or Aum Cluster File System (ACFS).
NFX library provides compatibility wrapper 'NFX.IO.FileSystem.Local.LocalFileSystem' for access to local machine file system
(which is based on this class and is implemented using a traditional System.IO.* set of classes).
The FileSystem abstraction supports the following concepts: versioning, transactions, metadata, security; however it does not guarantee that
every implementation is capable of providing all of these functions. Query "GeneralCapabilities" and "InstanceCapabilities" to see what functions
are supported by a particular instance.
|
![]() | IFileSystemCapabilities |
Supplies capabilities for the file system. The implementation must be thread safe
|
![]() | IFileSystemHandle |
Denotes a handle for item in a file system.
For example: in a distributed system this may be some form of unique file/directory id (i.e. a GUID) or
object instance internal to implementation
|
![]() | IFileSystemImplementation | |
![]() | IFileSystemTransactionHandle |
Denotes a handle for transaction in a file system.
For example: in a distributed system this may be an object instance holding information about transaction which is internal to implementation
|
![]() | IFileSystemVersion |
Decorates entities that represent version for file systems that support versioning
|
Enumerations
Enumeration | Description | |
---|---|---|
![]() | FileSystemDirectory DirCopyFlags |