tomaswolf commented on pull request #206: URL: https://github.com/apache/mina-sshd/pull/206#issuecomment-955025850
> Great - it just occurred to me that perhaps we should consider making this new behavior **configurable** where the feature is enabled by default. This way, if any of the normal clients is somehow affected and we suspect this code is to blame we can have a "kill-switch" for it. On the other hand, one could make the claim that we already have way too many configuration properties. Up to you - I trust your judgement. Initially I thought "this is more a bug fix than a feature". But there is one case where indeed this bypassing of the `FileSystem` abstraction might make a difference. If the user installed his own subclass of `SftpFileSystemProvider` that does funny things, then not using `Files.newDirectoryStream()` for the iteration might make a difference. So take a look at #207, please. That is a solution that does _not_ bypass `Files.newDirectoryStream()`, yet it has the exact same effect as this change here. It caches the `SftpClient.Attributes` on the `SftpPath`. This is inspired by the Java `FileTreeWalker`, which also does this and re-uses the cached attributes inside the walk. My change re-uses them in the directory iteration, but not otherwise. The same mechanism is then also used to reduce multiple calls to `readRemoteAttributes` where it's safe to do so. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org