Commit Graph

405 Commits

Author SHA1 Message Date
Gert Driesen 991bff1f8e Fail fast when timeout is zero. 2017-02-11 12:33:17 +01:00
Gert Driesen 23847295a8 Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2017-02-06 17:45:10 +01:00
Gert Driesen ec467689ce Harden and document test. 2017-02-06 17:45:05 +01:00
Gert Driesen 89db30b88c Add SftpFileReader tests. 2017-02-06 15:37:41 +01:00
Gert Driesen 38aff42168 Sync project files. 2017-02-06 15:15:35 +01:00
Gert Driesen b22690d985 Remove ServiceFactory argument from SftpSession. 2017-02-06 15:15:27 +01:00
Gert Driesen d57dbff9ee Remove unused class. 2017-02-06 15:13:36 +01:00
Gert Driesen ca10625a93 Add SftpCloseAsyncResult to .NET 3.5 project file. 2017-02-06 14:14:38 +01:00
Gert Driesen 703e24b629 Allow Dispose to interrupt blocking wait.
Avoid ObjectDisposedException in Read().
2017-02-05 22:09:09 +01:00
Gert Driesen b6d365c0de Micro 2017-02-05 20:29:42 +01:00
Gert Driesen c43ff688f2 Update comment. 2017-02-05 19:52:37 +01:00
Gert Driesen c1080c16e6 Remove empty line. 2017-02-05 19:50:19 +01:00
Gert Driesen 768d1c9a68 Add async Begin/End Close methods.
Avoid waiting for async method to complete when its already completed.
2017-02-05 19:34:06 +01:00
Gert Driesen f726b706df Make RaiseExceptionEvent private. 2017-02-05 19:31:52 +01:00
Gert Driesen 35233fc822 Added async methods for SSH_FXP_OPEN, SSH_FXP_REALPATH, SSH_FXP_STAT and SSH_FXP_LSTAT.
Improve SftpFileReader to no longer block when the session is broken, and improve performance by using async methods to open file and obtain file attributes.
Internally use an Int32 based timeout (expressed in milliseconds) to eliminate numerous conversions in hot paths.
2017-02-04 21:39:11 +01:00
Gert Driesen 7e72af810c Implement Wait with timeout. 2017-02-04 13:39:50 +01:00
Gert Driesen bea764f812 Remove EndInvoke with timeout as we use the IAsyncResult.AsyncWaitHandle for this. 2017-02-04 13:39:14 +01:00
Gert Driesen 51bd8fa6fd Removed IsEof from SftpDataResponse. 2017-02-03 18:43:50 +01:00
Gert Driesen 774951e0c4 Do not initialize fields with default values. 2017-02-03 16:17:21 +01:00
Gert Driesen eb39b69b34 Revert "Do not initialize fields to default values."
This reverts commit 54fbd8f5ba.
2017-02-03 16:16:10 +01:00
Gert Driesen 54fbd8f5ba Do not initialize fields to default values. 2017-02-03 16:15:24 +01:00
Gert Driesen 8a5d8edb70 Removed _ownsHandle field. 2017-02-03 16:13:49 +01:00
Gert Driesen 94d0230608 Removed IsAsync property. 2017-02-03 16:12:41 +01:00
Gert Driesen 6ebb978bac Minor slashdoc (syntax/format) updates. 2017-02-03 16:02:55 +01:00
Gert Driesen 9f87bc3f26 Compare server window size with uint zero. 2017-02-03 10:57:29 +01:00
Gert Driesen a51e82fcb8 Fix remaning tests. 2017-02-02 20:09:35 +01:00
Gert Driesen c7c6e87799 Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2017-02-02 19:36:34 +01:00
Gert Driesen e4a1a5daca Fix some more tests. 2017-02-02 19:36:30 +01:00
Gert Driesen 61b415a31f Fix test. 2017-02-02 19:20:12 +01:00
Gert Driesen 61d45b12aa Add ISftpFileReader to remaining project files. 2017-02-02 19:12:09 +01:00
Gert Driesen cd4fad7f67 As of VS 2017 RC3, the sources files in the project directory are implicitly included. 2017-02-02 18:22:14 +01:00
Gert Driesen 3f78ad3002 Add CreateFileReader method on SftpSession in which we use the size of the file to determine the maximum pending reads to allow, and calculate the size of individual chunks.
Add CreateSftpFileReader method to ServiceFactory.
Add nullOnError argument to SftpSession.RequestFStat.
2017-02-02 18:16:07 +01:00
Gert Driesen 1f2c7f2547 Do not use reported file size to determine whether read-ahead should be stopped.
Only use file size for optimization.
2017-02-02 18:11:55 +01:00
Gert Driesen 807e9fc14e Optimize handling response actions. 2017-02-02 17:18:51 +01:00
Gert Driesen 191b704691 Eliminate extra String.Format. 2017-02-02 10:17:25 +01:00
Gert Driesen ccefd706a3 Set C# language version to 5 for release and debug configuration. 2017-01-29 20:21:06 +01:00
Gert Driesen e937c9d841 Improve exception handler for SftpFileReader.
Add more tests (WIP).
2017-01-29 19:38:19 +01:00
Gert Driesen 4e801fb354 Specify C# language version. 2017-01-29 19:37:22 +01:00
Gert Driesen 5b3e64e368 Harden read-ahead by relying
Throw SshException when read has completed.
Identify more tasks that need to be completed before the implementation can be considered done.
2017-01-24 21:25:12 +01:00
Gert Driesen f29b4826a3 Use PulseAll instead of Pulse as we want to signal all threads. 2017-01-24 18:20:58 +01:00
Gert Driesen 9f63730470 Sync project files, and remove stray CWL. 2017-01-22 20:45:45 +01:00
Gert Driesen fe27ec31e1 Added BeginRead/EndRead to ISftpSession and SftpSession.
Draft of read-ahead implementation for DownloadFile and BeginDownloadFile overloads of SftpClient.
2017-01-22 19:53:56 +01:00
Gert Driesen 54215ffd74 Remove empty line. 2017-01-22 19:49:54 +01:00
Gert Driesen e643378cfc Added EndInvoke(TimeSpan timeout). 2017-01-22 19:49:40 +01:00
Gert Driesen 31e204b634 Modify assert order to first get details of exception. 2017-01-22 16:01:52 +01:00
Gert Driesen 710aa37bd5 Do not use Socket.Select on .NET Framework 3.5 as will not block when -1 is specified as timeout.
More information is available here:
https://support.microsoft.com/kb/2615314

Fixes issue #113.
2017-01-22 15:46:57 +01:00
Gert Driesen b63a0ea524 Revert "Attempt to run tests against .NET 3.5 and 4.0."
This reverts commit b6ee090ba5, reversing
changes made to 0baac6aebd.
2017-01-22 14:52:07 +01:00
Gert Driesen b6ee090ba5 Attempt to run tests against .NET 3.5 and 4.0. 2017-01-22 14:23:20 +01:00
Gert Driesen 32a9f076c1 Merge branch 'develop' of https://github.com/sshnet/SSH.NET into develop 2017-01-22 11:12:45 +01:00
Gert Driesen 0b04aaa79d Add more tests for .NET 3.5 test project. 2017-01-22 11:12:37 +01:00