Expose FileStoreAttributes.setBackground()
The FS.setAsyncFileStoreAttributes() static method calls FileStoreAttributes.setBackground() as its implementation, but there are other public attributes on this inner class already and there isn't a real reason why this needs to be private. By making it public we allow callers to be able to invoke it directly. Although it doesn't appear that it would make a difference, by calling a static method on the FS class, all static fields and the transitive closure of class dependencies must be loaded and initialised, which can be non-trivial. Callers referring to FS.setAsyncFileStoreAttributes() may be replaced with FS.FileStoreAttributes.setBackground() with no change of behaviour other than improved performance due to less class loading required. Bug: 560527 Change-Id: I9538acc90da8d18f53fd60d74eb54496857f93a5 Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
This commit is contained in:
parent
30fb4808f2
commit
093fbbd11e
|
@ -242,7 +242,16 @@ public static final class FileStoreAttributes {
|
||||||
|
|
||||||
private static Map<FileStore, Lock> locks = new ConcurrentHashMap<>();
|
private static Map<FileStore, Lock> locks = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
private static void setBackground(boolean async) {
|
/**
|
||||||
|
* Whether FileStore attributes should be determined asynchronously
|
||||||
|
*
|
||||||
|
* @param async
|
||||||
|
* whether FileStore attributes should be determined
|
||||||
|
* asynchronously. If false access to cached attributes may block
|
||||||
|
* for some seconds for the first call per FileStore
|
||||||
|
* @since 5.6.2
|
||||||
|
*/
|
||||||
|
public static void setBackground(boolean async) {
|
||||||
background.set(async);
|
background.set(async);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -709,7 +718,9 @@ public static FS detect() {
|
||||||
* asynchronously. If false access to cached attributes may block
|
* asynchronously. If false access to cached attributes may block
|
||||||
* for some seconds for the first call per FileStore
|
* for some seconds for the first call per FileStore
|
||||||
* @since 5.1.9
|
* @since 5.1.9
|
||||||
|
* @deprecated Use {@link FileStoreAttributes#setBackground} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static void setAsyncFileStoreAttributes(boolean asynch) {
|
public static void setAsyncFileStoreAttributes(boolean asynch) {
|
||||||
FileStoreAttributes.setBackground(asynch);
|
FileStoreAttributes.setBackground(asynch);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue