示例#1
0
 public void Dispose()
 {
     if (_rpcClient != null)
     {
         _rpcClient.Dispose();
         _rpcClient = null;
     }
 }
示例#2
0
        public Nfs3Client(string address, RpcCredentials credentials, string mountPoint)
        {
            _rpcClient = new RpcClient(address, credentials);
            _mountClient = new Nfs3Mount(_rpcClient);
            _rootHandle = _mountClient.Mount(mountPoint).FileHandle;

            _nfsClient = new Nfs3(_rpcClient);

            Nfs3FileSystemInfoResult fsiResult = _nfsClient.FileSystemInfo(_rootHandle);
            _fsInfo = fsiResult.FileSystemInfo;
            _cachedAttributes = new Dictionary<Nfs3FileHandle, Nfs3FileAttributes>();
            _cachedAttributes[_rootHandle] = fsiResult.PostOpAttributes;
        }
示例#3
0
 public Nfs3(RpcClient client)
     : base(client)
 {
 }
示例#4
0
 /// <summary>
 /// Gets the folders exported by a server.
 /// </summary>
 /// <param name="address">The address of the server</param>
 /// <returns>An enumeration of exported folders</returns>
 public static IEnumerable<string> GetExports(string address)
 {
     using (RpcClient rpcClient = new RpcClient(address, null))
     {
         Nfs3Mount mountClient = new Nfs3Mount(rpcClient);
         foreach (var export in mountClient.Exports())
         {
             yield return export.DirPath;
         }
     }
 }
示例#5
0
 public Nfs3Mount(RpcClient client)
     : base(client)
 {
 }
示例#6
0
 protected RpcProgram(RpcClient client)
 {
     _client = client;
 }