public abstract class oadd.org.apache.hadoop.fs.CachingGetSpaceUsed extends java.lang.Object implements java.io.Closeable, oadd.org.apache.hadoop.fs.GetSpaceUsed
{
static final org.slf4j.Logger LOG;
protected final java.util.concurrent.atomic.AtomicLong used;
private final java.util.concurrent.atomic.AtomicBoolean running;
private final long refreshInterval;
private final long jitter;
private final java.lang.String dirPath;
private java.lang.Thread refreshUsed;
public void <init>(oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
long v, v, v;
oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder v;
java.io.File v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v := @parameter: oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder: java.io.File getPath()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder: long getInterval()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder: long getJitter()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.GetSpaceUsed$Builder: long getInitialUsed()>();
specialinvoke v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: void <init>(java.io.File,long,long,long)>(v, v, v, v);
return;
}
void <init>(java.io.File, long, long, long) throws java.io.IOException
{
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v;
java.io.File v;
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicLong v, v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v := @parameter: java.io.File;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(1);
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicBoolean running> = v;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.String dirPath> = v;
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: long refreshInterval> = v;
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: long jitter> = v;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(v);
return;
}
void init()
{
java.util.concurrent.atomic.AtomicBoolean v;
long v, v;
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicLong v, v;
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed$RefreshThread v;
byte v, v;
java.lang.Thread v, v, v;
java.lang.String v, v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v cmp 0L;
if v >= 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(0L);
virtualinvoke v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: void refresh()>();
label:
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: long refreshInterval>;
v = v cmp 0L;
if v <= 0 goto label;
v = new java.lang.Thread;
v = new oadd.org.apache.hadoop.fs.CachingGetSpaceUsed$RefreshThread;
specialinvoke v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed$RefreshThread: void <init>(oadd.org.apache.hadoop.fs.CachingGetSpaceUsed)>(v);
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.String dirPath>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("refreshUsed-\u0001");
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable,java.lang.String)>(v, v);
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed> = v;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed>;
virtualinvoke v.<java.lang.Thread: void setDaemon(boolean)>(1);
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed>;
virtualinvoke v.<java.lang.Thread: void start()>();
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicBoolean running>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed> = null;
label:
return;
}
protected abstract void refresh();
public long getUsed() throws java.io.IOException
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicLong v;
long v, v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = staticinvoke <java.lang.Math: long max(long,long)>(v, 0L);
return v;
}
public java.lang.String getDirPath()
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.String dirPath>;
return v;
}
public void incDfsUsed(long)
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicLong v;
long v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v := @parameter: long;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long addAndGet(long)>(v);
return;
}
boolean running()
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicBoolean running>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
long getRefreshInterval()
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
long v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: long refreshInterval>;
return v;
}
protected void setUsed(long)
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.util.concurrent.atomic.AtomicLong v;
long v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v := @parameter: long;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicLong used>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(v);
return;
}
public void close() throws java.io.IOException
{
oadd.org.apache.hadoop.fs.CachingGetSpaceUsed v;
java.lang.Thread v, v;
java.util.concurrent.atomic.AtomicBoolean v;
v := @this: oadd.org.apache.hadoop.fs.CachingGetSpaceUsed;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.util.concurrent.atomic.AtomicBoolean running>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed>;
if v == null goto label;
v = v.<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: java.lang.Thread refreshUsed>;
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/hadoop/fs/CachingGetSpaceUsed;");
<oadd.org.apache.hadoop.fs.CachingGetSpaceUsed: org.slf4j.Logger LOG> = v;
return;
}
}