public class org.apache.lucene.store.RateLimiter$SimpleRateLimiter extends org.apache.lucene.store.RateLimiter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.lucene.store.RateLimiter$SimpleRateLimiter
super_class: org.apache.lucene.store.RateLimiter
{
private static final int MIN_PAUSE_CHECK_MSEC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private volatile double mbPerSec;
descriptor: D
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long minPauseCheckBytes;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long lastNS;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.lucene.store.RateLimiter.<init>:()V
1: aload 0
dload 1
invokevirtual org.apache.lucene.store.RateLimiter$SimpleRateLimiter.setMBPerSec:(D)V
2: aload 0
invokestatic java.lang.System.nanoTime:()J
putfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.lastNS:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/store/RateLimiter$SimpleRateLimiter;
0 4 1 mbPerSec D
MethodParameters:
Name Flags
mbPerSec
public void setMBPerSec(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
putfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.mbPerSec:D
1: aload 0
ldc 0.005
dload 1
dmul
ldc 1024.0
dmul
ldc 1024.0
dmul
d2l
putfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.minPauseCheckBytes:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/store/RateLimiter$SimpleRateLimiter;
0 3 1 mbPerSec D
MethodParameters:
Name Flags
mbPerSec
public long getMinPauseCheckBytes();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.minPauseCheckBytes:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/store/RateLimiter$SimpleRateLimiter;
public double getMBPerSec();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.mbPerSec:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/store/RateLimiter$SimpleRateLimiter;
public long pause(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.nanoTime:()J
lstore 3
start local 3 1: lload 1
l2d
ldc 1024.0
ddiv
ldc 1024.0
ddiv
aload 0
getfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.mbPerSec:D
ddiv
dstore 5
start local 5 2: aload 0
dup
astore 9
monitorenter
3: aload 0
getfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.lastNS:J
ldc 1.0E9
dload 5
dmul
d2l
ladd
lstore 7
start local 7 4: lload 3
lload 7
lcmp
iflt 8
5: aload 0
lload 3
putfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.lastNS:J
6: aload 9
monitorexit
7: lconst_0
lreturn
8: StackMap locals: org.apache.lucene.store.RateLimiter$SimpleRateLimiter long long double long org.apache.lucene.store.RateLimiter$SimpleRateLimiter
StackMap stack:
aload 0
lload 7
putfield org.apache.lucene.store.RateLimiter$SimpleRateLimiter.lastNS:J
9: aload 9
monitorexit
10: goto 13
end local 7 StackMap locals: org.apache.lucene.store.RateLimiter$SimpleRateLimiter long long double top top org.apache.lucene.store.RateLimiter$SimpleRateLimiter
StackMap stack: java.lang.Throwable
11: aload 9
monitorexit
12: athrow
start local 7 13: StackMap locals: org.apache.lucene.store.RateLimiter$SimpleRateLimiter long long double long
StackMap stack:
lload 3
lstore 9
start local 9 14: StackMap locals: long
StackMap stack:
lload 7
lload 9
lsub
lstore 11
start local 11 15: lload 11
lconst_0
lcmp
ifle 28
16: lload 11
ldc 214748364700000
lcmp
ifle 20
17: ldc 2147483647
istore 14
start local 14 18: iconst_0
istore 13
start local 13 19: goto 22
end local 14 end local 13 20: StackMap locals: long
StackMap stack:
lload 11
ldc 1000000
ldiv
l2i
istore 14
start local 14 21: lload 11
ldc 1000000
lrem
l2i
istore 13
start local 13 22: StackMap locals: int int
StackMap stack:
iload 14
i2l
iload 13
invokestatic java.lang.Thread.sleep:(JI)V
end local 14 end local 13 23: goto 26
StackMap locals: org.apache.lucene.store.RateLimiter$SimpleRateLimiter long long double long long long
StackMap stack: java.lang.InterruptedException
24: astore 13
start local 13 25: new org.apache.lucene.util.ThreadInterruptedException
dup
aload 13
invokespecial org.apache.lucene.util.ThreadInterruptedException.<init>:(Ljava/lang/InterruptedException;)V
athrow
end local 13 26: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 9
end local 11 27: goto 14
28: StackMap locals:
StackMap stack:
lload 9
lload 3
lsub
lreturn
end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/lucene/store/RateLimiter$SimpleRateLimiter;
0 29 1 bytes J
1 29 3 startNS J
2 29 5 secondsToPause D
4 11 7 targetNS J
13 29 7 targetNS J
14 29 9 curNS J
15 27 11 pauseNS J
19 20 13 sleepNS I
22 23 13 sleepNS I
18 20 14 sleepMS I
21 23 14 sleepMS I
25 26 13 ie Ljava/lang/InterruptedException;
Exception table:
from to target type
3 7 11 any
8 10 11 any
11 12 11 any
16 23 24 Class java.lang.InterruptedException
MethodParameters:
Name Flags
bytes
}
SourceFile: "RateLimiter.java"
NestHost: org.apache.lucene.store.RateLimiter
InnerClasses:
public SimpleRateLimiter = org.apache.lucene.store.RateLimiter$SimpleRateLimiter of org.apache.lucene.store.RateLimiter