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

Reply via email to