BaseClient:
* Added bool argument to BaseClient ctor to indicate whether the specified ConnectionInfo
instance is owned by the client.
* In Dispose, also dispose ConnectionInfo if ownsConnectionInfo is true.
* Modified Connect() to throw InvalidOperationException when the client is already connected.
* Postpone creation of keep-alive timer until client has actually connected, and stop timer
when disconnecting the client.
* Document default value of KeepAliveInterval.
* Modified all public members to throw ObjectDisposedException when client is disposed.
* Modified Dispose to stop the keep-alive timer (and wait until all timer callbacks have
been executed) before the session is disposed.
NetConfClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and AutomaticMessageIdHandling.
ScpClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and BufferSize.
SftpClient:
* Moved dispose of ConnectionInfo to BaseClient.
* Document default value of OperationTimeout and BufferSize.
* Modified all public members to throw ObjectDisposedException when client is disposed.
* Modified the WorkingDirectory and ProtocolVersion properties to throw
SshConnectionException when the client is not connected.
* When disconnecting the client, also dispose the SftpSession to avoid leaks and set it
to null as this is used to check whether the SftpClient is connected.
SshClient:
* Moved dispose of ConnectionInfo to BaseClient.
Session:
* include waithandle that signals when message listener has completed to avoid waiting for a response that can never be received
* throw SshConnectionException when message listener has completed (and no exception has been raised) if session is not disconnecting
* Modified IsConnected to also return false when:
- disconnect message has been sent to server
- the message listener completed waithandle is null or has been set (=listener thread has completed)
* Improved documentation of IsConnected property.
* Modified Disconnect() to also disconnect and dispose the underlying socket, and wait for the listener thread to complete.
Only send disconnect message if session is still connected.
* Modified Connect() to to reset connection-specific information to ensure state of a
previous connection does not affect new connections.
* Do not raise errors for SshConnectionException or socket timeout when session is disconnecting.
* Move any checks that are not socket related from IsSocketConnected to the IsConnected property.
* Modified IsSocketConnected on .NET to first check Connected property on underlying socket,
and when true use Socket.Poll with SelectRead in combination with Socket.Available to detect
if connection has been closed. Note that this does not detect loss of network connectivity.
↧