public class org.apache.activemq.usage.StoreUsage extends org.apache.activemq.usage.PercentLimitUsage
{
private org.apache.activemq.store.PersistenceAdapter store;
public void <init>()
{
org.apache.activemq.usage.StoreUsage v;
v := @this: org.apache.activemq.usage.StoreUsage;
specialinvoke v.<org.apache.activemq.usage.PercentLimitUsage: void <init>(org.apache.activemq.usage.Usage,java.lang.String,float)>(null, null, 1.0F);
return;
}
public void <init>(java.lang.String, org.apache.activemq.store.PersistenceAdapter)
{
java.lang.String v;
org.apache.activemq.store.PersistenceAdapter v;
org.apache.activemq.usage.StoreUsage v;
v := @this: org.apache.activemq.usage.StoreUsage;
v := @parameter: java.lang.String;
v := @parameter: org.apache.activemq.store.PersistenceAdapter;
specialinvoke v.<org.apache.activemq.usage.PercentLimitUsage: void <init>(org.apache.activemq.usage.Usage,java.lang.String,float)>(null, v, 1.0F);
v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store> = v;
virtualinvoke v.<org.apache.activemq.usage.StoreUsage: void updateLimitBasedOnPercent()>();
return;
}
public void <init>(org.apache.activemq.usage.StoreUsage, java.lang.String)
{
org.apache.activemq.usage.StoreUsage v, v;
java.lang.String v;
org.apache.activemq.store.PersistenceAdapter v;
v := @this: org.apache.activemq.usage.StoreUsage;
v := @parameter: org.apache.activemq.usage.StoreUsage;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.activemq.usage.PercentLimitUsage: void <init>(org.apache.activemq.usage.Usage,java.lang.String,float)>(v, v, 1.0F);
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store> = v;
virtualinvoke v.<org.apache.activemq.usage.StoreUsage: void updateLimitBasedOnPercent()>();
return;
}
protected long retrieveUsage()
{
org.apache.activemq.usage.StoreUsage v;
long v;
org.apache.activemq.store.PersistenceAdapter v, v;
v := @this: org.apache.activemq.usage.StoreUsage;
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
if v != null goto label;
return 0L;
label:
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
v = interfaceinvoke v.<org.apache.activemq.store.PersistenceAdapter: long size()>();
return v;
}
public org.apache.activemq.store.PersistenceAdapter getStore()
{
org.apache.activemq.store.PersistenceAdapter v;
org.apache.activemq.usage.StoreUsage v;
v := @this: org.apache.activemq.usage.StoreUsage;
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
return v;
}
public void setStore(org.apache.activemq.store.PersistenceAdapter)
{
int v;
org.apache.activemq.store.PersistenceAdapter v;
org.apache.activemq.usage.StoreUsage v;
v := @this: org.apache.activemq.usage.StoreUsage;
v := @parameter: org.apache.activemq.store.PersistenceAdapter;
v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store> = v;
v = v.<org.apache.activemq.usage.StoreUsage: int percentLimit>;
if v <= 0 goto label;
if v == null goto label;
virtualinvoke v.<org.apache.activemq.usage.StoreUsage: void updateLimitBasedOnPercent()>();
goto label;
label:
virtualinvoke v.<org.apache.activemq.usage.StoreUsage: void onLimitChange()>();
label:
return;
}
public int getPercentUsage()
{
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
org.apache.activemq.usage.StoreUsage v;
int v, v;
v := @this: org.apache.activemq.usage.StoreUsage;
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = virtualinvoke v.<org.apache.activemq.usage.StoreUsage: int caclPercentUsage()>();
v.<org.apache.activemq.usage.StoreUsage: int percentUsage> = v;
v = specialinvoke v.<org.apache.activemq.usage.PercentLimitUsage: int getPercentUsage()>();
label:
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
protected void updateLimitBasedOnPercent()
{
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
java.io.File v;
org.apache.activemq.usage.StoreUsage v;
org.apache.activemq.store.PersistenceAdapter v, v;
v := @this: org.apache.activemq.usage.StoreUsage;
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
if v == null goto label;
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.store.PersistenceAdapter store>;
v = interfaceinvoke v.<org.apache.activemq.store.PersistenceAdapter: java.io.File getDirectory()>();
goto label;
label:
v = null;
label:
virtualinvoke v.<org.apache.activemq.usage.StoreUsage: void percentLimitFromFile(java.io.File)>(v);
label:
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.usage.StoreUsage: java.util.concurrent.locks.ReentrantReadWriteLock usageLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.usage.StoreUsage copy()
{
long v, v;
org.apache.activemq.usage.UsageCapacity v, v;
org.apache.activemq.usage.StoreUsage v, v;
int v;
org.apache.activemq.usage.Usage v;
java.lang.String v;
v := @this: org.apache.activemq.usage.StoreUsage;
v = new org.apache.activemq.usage.StoreUsage;
specialinvoke v.<org.apache.activemq.usage.StoreUsage: void <init>()>();
v = v.<org.apache.activemq.usage.StoreUsage: java.lang.String name>;
v.<org.apache.activemq.usage.StoreUsage: java.lang.String name> = v;
v = v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.usage.Usage parent>;
v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.usage.Usage parent> = v;
v = v.<org.apache.activemq.usage.StoreUsage: long total>;
v.<org.apache.activemq.usage.StoreUsage: long total> = v;
v = v.<org.apache.activemq.usage.StoreUsage: int percentLimit>;
v.<org.apache.activemq.usage.StoreUsage: int percentLimit> = v;
v = virtualinvoke v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.usage.UsageCapacity getLimiter()>();
v = virtualinvoke v.<org.apache.activemq.usage.StoreUsage: org.apache.activemq.usage.UsageCapacity getLimiter()>();
v = interfaceinvoke v.<org.apache.activemq.usage.UsageCapacity: long getLimit()>();
interfaceinvoke v.<org.apache.activemq.usage.UsageCapacity: void setLimit(long)>(v);
return v;
}
}