Browse Source

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>
tags/v5.7.0.202003090808-r
Alex Blewitt 4 years ago
parent
commit
093fbbd11e
1 changed files with 12 additions and 1 deletions
  1. 12
    1
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java

+ 12
- 1
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java View File

@@ -242,7 +242,16 @@ public abstract class FS {

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);
}

@@ -709,7 +718,9 @@ public abstract class FS {
* asynchronously. If false access to cached attributes may block
* for some seconds for the first call per FileStore
* @since 5.1.9
* @deprecated Use {@link FileStoreAttributes#setBackground} instead
*/
@Deprecated
public static void setAsyncFileStoreAttributes(boolean asynch) {
FileStoreAttributes.setBackground(asynch);
}

Loading…
Cancel
Save