<PackageReference Include="SSH.NET" Version="2020.0.2" />

Renci.SshNet.Sftp.SftpSession

namespace Renci.SshNet.Sftp { internal class SftpSession : SubsystemSession, ISftpSession, ISubsystemSession, IDisposable { protected Encoding Encoding { get; } public string WorkingDirectory { get; } public uint ProtocolVersion { get; } public uint NextRequestId { get; } public SftpSession(ISession session, int operationTimeout, Encoding encoding, ISftpResponseFactory sftpResponseFactory); public void ChangeDirectory(string path); public string GetCanonicalPath(string path); public ISftpFileReader CreateFileReader(byte[] handle, ISftpSession sftpSession, uint chunkSize, int maxPendingReads, long? fileSize); public byte[] RequestOpen(string path, Flags flags, bool nullOnError = false); public SftpOpenAsyncResult BeginOpen(string path, Flags flags, AsyncCallback callback, object state); public byte[] EndOpen(SftpOpenAsyncResult asyncResult); public void RequestClose(byte[] handle); public SftpCloseAsyncResult BeginClose(byte[] handle, AsyncCallback callback, object state); public void EndClose(SftpCloseAsyncResult asyncResult); public SftpReadAsyncResult BeginRead(byte[] handle, ulong offset, uint length, AsyncCallback callback, object state); public byte[] EndRead(SftpReadAsyncResult asyncResult); public byte[] RequestRead(byte[] handle, ulong offset, uint length); public void RequestWrite(byte[] handle, ulong serverOffset, byte[] data, int offset, int length, AutoResetEvent wait, Action<SftpStatusResponse> writeCompleted = null); public SftpFileAttributes RequestLStat(string path); public SFtpStatAsyncResult BeginLStat(string path, AsyncCallback callback, object state); public SftpFileAttributes EndLStat(SFtpStatAsyncResult asyncResult); public SftpFileAttributes RequestFStat(byte[] handle, bool nullOnError); public void RequestSetStat(string path, SftpFileAttributes attributes); public void RequestFSetStat(byte[] handle, SftpFileAttributes attributes); public byte[] RequestOpenDir(string path, bool nullOnError = false); public KeyValuePair<string, SftpFileAttributes>[] RequestReadDir(byte[] handle); public void RequestRemove(string path); public void RequestMkDir(string path); public void RequestRmDir(string path); public SftpRealPathAsyncResult BeginRealPath(string path, AsyncCallback callback, object state); public string EndRealPath(SftpRealPathAsyncResult asyncResult); public SftpFileAttributes RequestStat(string path, bool nullOnError = false); public SFtpStatAsyncResult BeginStat(string path, AsyncCallback callback, object state); public SftpFileAttributes EndStat(SFtpStatAsyncResult asyncResult); public void RequestRename(string oldPath, string newPath); public void RequestSymLink(string linkpath, string targetpath); public void RequestPosixRename(string oldPath, string newPath); public SftpFileSytemInformation RequestStatVfs(string path, bool nullOnError = false); public uint CalculateOptimalReadLength(uint bufferSize); public uint CalculateOptimalWriteLength(uint bufferSize, byte[] handle); } }