NFX.IO.FileSystem NamespaceNFX Class Library

[This is preliminary documentation and is subject to change.]

Provides abstraction for working with varios file systems like Amazon S3, NFTS, FDFS, ACFS
Classes

  ClassDescription
Public classDeleteFilesJob
Represents a job(a scheduled event) which deletes FS files
Public classFileSystem
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
Public classFileSystemDirectory
Represents a directory item in a file system. This class is NOT thread-safe
Public classFileSystemException
General NFX file system specific exception
Public classFileSystemFile
Represents a file in a file system. This class is NOT thread-safe
Public classFileSystemSession
Represents a user-impersonated session of working with a file system. This class is NOT thread-safe
Public classFileSystemSessionConnectParams
Provides parameters for new sessions establishment
Public classFileSystemSessionItem
Represents an abstraction for items kept in a file system - i.e. directories and files.This class is NOT thread-safe
Public classFileSystemStarter
Represents a starter that launches file systems on startup
Public classFileSystemStream
Represents a stream that can work with contents of FileSystem. This class is NOT thread-safe
Interfaces

  InterfaceDescription
Public interfaceIFileSystem
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.
Public interfaceIFileSystemCapabilities
Supplies capabilities for the file system. The implementation must be thread safe
Public interfaceIFileSystemHandle
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
Public interfaceIFileSystemImplementation
Public interfaceIFileSystemTransactionHandle
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
Public interfaceIFileSystemVersion
Decorates entities that represent version for file systems that support versioning
Enumerations

  EnumerationDescription
Public enumerationFileSystemDirectory DirCopyFlags