public abstract class io.vertx.ext.web.sstore.AbstractSession implements io.vertx.ext.web.Session, io.vertx.ext.web.sstore.impl.SessionInternal
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.ext.web.sstore.AbstractSession
super_class: java.lang.Object
{
private static final char[] HEX;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private io.vertx.ext.auth.VertxContextPRNG prng;
descriptor: Lio/vertx/ext/auth/VertxContextPRNG;
flags: (0x0002) ACC_PRIVATE
private java.lang.String id;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private long timeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private volatile java.util.Map<java.lang.String, java.lang.Object> data;
descriptor: Ljava/util/Map;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
private long lastAccessed;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int version;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean destroyed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean renewed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String oldId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int crc;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "0123456789abcdef"
invokevirtual java.lang.String.toCharArray:()[C
putstatic io.vertx.ext.web.sstore.AbstractSession.HEX:[C
return
LocalVariableTable:
Start End Slot Name Signature
protected void setId(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.sstore.AbstractSession.id:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 2 1 id Ljava/lang/String;
MethodParameters:
Name Flags
id
protected void setTimeout(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield io.vertx.ext.web.sstore.AbstractSession.timeout:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 2 1 timeout J
MethodParameters:
Name Flags
timeout
protected void setData(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
aload 1
putfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
2: aload 0
aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.checksum:()I
putfield io.vertx.ext.web.sstore.AbstractSession.crc:I
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 4 1 data Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
data
protected void setData(io.vertx.core.json.JsonObject);
descriptor: (Lio/vertx/core/json/JsonObject;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
aload 1
invokevirtual io.vertx.core.json.JsonObject.getMap:()Ljava/util/Map;
invokevirtual io.vertx.ext.web.sstore.AbstractSession.setData:(Ljava/util/Map;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 3 1 data Lio/vertx/core/json/JsonObject;
MethodParameters:
Name Flags
data
protected void setLastAccessed(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield io.vertx.ext.web.sstore.AbstractSession.lastAccessed:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 2 1 lastAccessed J
MethodParameters:
Name Flags
lastAccessed
protected void setVersion(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.sstore.AbstractSession.version:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 2 1 version I
MethodParameters:
Name Flags
version
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public void <init>(io.vertx.ext.auth.VertxContextPRNG);
descriptor: (Lio/vertx/ext/auth/VertxContextPRNG;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.ext.web.sstore.AbstractSession.prng:Lio/vertx/ext/auth/VertxContextPRNG;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 3 1 random Lio/vertx/ext/auth/VertxContextPRNG;
MethodParameters:
Name Flags
random
public void <init>(io.vertx.ext.auth.VertxContextPRNG, long, int);
descriptor: (Lio/vertx/ext/auth/VertxContextPRNG;JI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.ext.web.sstore.AbstractSession.prng:Lio/vertx/ext/auth/VertxContextPRNG;
2: aload 0
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.prng:Lio/vertx/ext/auth/VertxContextPRNG;
iload 4
invokestatic io.vertx.ext.web.sstore.AbstractSession.generateId:(Lio/vertx/ext/auth/VertxContextPRNG;I)Ljava/lang/String;
putfield io.vertx.ext.web.sstore.AbstractSession.id:Ljava/lang/String;
3: aload 0
lload 2
putfield io.vertx.ext.web.sstore.AbstractSession.timeout:J
4: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield io.vertx.ext.web.sstore.AbstractSession.lastAccessed:J
5: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 6 1 random Lio/vertx/ext/auth/VertxContextPRNG;
0 6 2 timeout J
0 6 4 length I
MethodParameters:
Name Flags
random
timeout
length
public void setPRNG(io.vertx.ext.auth.VertxContextPRNG);
descriptor: (Lio/vertx/ext/auth/VertxContextPRNG;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.sstore.AbstractSession.prng:Lio/vertx/ext/auth/VertxContextPRNG;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 2 1 prng Lio/vertx/ext/auth/VertxContextPRNG;
MethodParameters:
Name Flags
prng
public void flushed(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield io.vertx.ext.web.sstore.AbstractSession.renewed:Z
1: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
ifnull 5
2: iload 1
ifne 4
3: aload 0
aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.checksum:()I
putfield io.vertx.ext.web.sstore.AbstractSession.crc:I
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 6 1 skipCrc Z
MethodParameters:
Name Flags
skipCrc
public java.lang.String id();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.id:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public io.vertx.ext.web.Session regenerateId();
descriptor: ()Lio/vertx/ext/web/Session;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.id:Ljava/lang/String;
putfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.prng:Lio/vertx/ext/auth/VertxContextPRNG;
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_2
idiv
invokestatic io.vertx.ext.web.sstore.AbstractSession.generateId:(Lio/vertx/ext/auth/VertxContextPRNG;I)Ljava/lang/String;
putfield io.vertx.ext.web.sstore.AbstractSession.id:Ljava/lang/String;
3: aload 0
iconst_1
putfield io.vertx.ext.web.sstore.AbstractSession.renewed:Z
4: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public long timeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.timeout:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public <T> T get(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.isEmpty:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.data:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 4 1 key Ljava/lang/String;
3 4 2 obj Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)TT;
MethodParameters:
Name Flags
key
public io.vertx.ext.web.Session put(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/Session;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.data:()Ljava/util/Map;
astore 3
start local 3 1: aload 2
ifnonnull 4
2: aload 3
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 5
4: StackMap locals: java.util.Map
StackMap stack:
aload 3
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 6 1 key Ljava/lang/String;
0 6 2 obj Ljava/lang/Object;
1 6 3 data Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
key
obj
public io.vertx.ext.web.Session putIfAbsent(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/Session;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.data:()Ljava/util/Map;
1: aload 1
aload 2
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 3 1 key Ljava/lang/String;
0 3 2 obj Ljava/lang/Object;
MethodParameters:
Name Flags
key
obj
public io.vertx.ext.web.Session computeIfAbsent(java.lang.String, java.util.function.Function<java.lang.String, java.lang.Object>);
descriptor: (Ljava/lang/String;Ljava/util/function/Function;)Lio/vertx/ext/web/Session;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.data:()Ljava/util/Map;
1: aload 1
aload 2
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
pop
2: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 3 1 key Ljava/lang/String;
0 3 2 mappingFunction Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Ljava/lang/String;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Object;>;)Lio/vertx/ext/web/Session;
MethodParameters:
Name Flags
key
mappingFunction
public <T> T remove(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.isEmpty:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.data:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/web/sstore/AbstractSession;
0 4 1 key Ljava/lang/String;
3 4 2 obj Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)TT;
MethodParameters:
Name Flags
key
public java.util.Map<java.lang.String, java.lang.Object> data();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
ifnonnull 11
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
ifnonnull 7
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
4: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.destroyed:Z
ifeq 7
5: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.regenerateId:()Lio/vertx/ext/web/Session;
pop
6: aload 0
iconst_0
putfield io.vertx.ext.web.sstore.AbstractSession.destroyed:Z
7: StackMap locals: io.vertx.ext.web.sstore.AbstractSession
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/web/sstore/AbstractSession;
Exception table:
from to target type
2 8 9 any
9 10 9 any
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
ifnull 1
aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ifeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public long lastAccessed();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.lastAccessed:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public void setAccessed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield io.vertx.ext.web.sstore.AbstractSession.lastAccessed:J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield io.vertx.ext.web.sstore.AbstractSession.destroyed:Z
2: aload 0
aconst_null
putfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
3: aload 1
monitorexit
4: goto 7
StackMap locals: io.vertx.ext.web.sstore.AbstractSession io.vertx.ext.web.sstore.AbstractSession
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/web/sstore/AbstractSession;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public boolean isDestroyed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.destroyed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public boolean isRegenerated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.renewed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public java.lang.String oldId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.oldId:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public int version();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.version:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
public void incrementVersion();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.crc:I
istore 1
start local 1 1: aload 0
aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.checksum:()I
putfield io.vertx.ext.web.sstore.AbstractSession.crc:I
2: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.crc:I
iload 1
if_icmpeq 4
3: aload 0
dup
getfield io.vertx.ext.web.sstore.AbstractSession.version:I
iconst_1
iadd
putfield io.vertx.ext.web.sstore.AbstractSession.version:I
4: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/web/sstore/AbstractSession;
1 5 1 old I
private static java.lang.String generateId(io.vertx.ext.auth.VertxContextPRNG, int);
descriptor: (Lio/vertx/ext/auth/VertxContextPRNG;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iload 1
newarray 8
astore 2
start local 2 1: aload 0
aload 2
invokeinterface io.vertx.ext.auth.VertxContextPRNG.nextBytes:([B)V
2: iload 1
iconst_2
imul
newarray 5
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: byte[] char[] int
StackMap stack:
aload 2
iload 4
baload
sipush 255
iand
istore 5
start local 5 6: aload 3
iload 4
iconst_2
imul
getstatic io.vertx.ext.web.sstore.AbstractSession.HEX:[C
iload 5
iconst_4
iushr
caload
castore
7: aload 3
iload 4
iconst_2
imul
iconst_1
iadd
getstatic io.vertx.ext.web.sstore.AbstractSession.HEX:[C
iload 5
bipush 15
iand
caload
castore
end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 1
if_icmplt 5
end local 4 10: new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:([C)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 rng Lio/vertx/ext/auth/VertxContextPRNG;
0 11 1 length I
1 11 2 bytes [B
3 11 3 hex [C
4 10 4 j I
6 8 5 v I
MethodParameters:
Name Flags
rng
length
protected int crc();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.crc:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/sstore/AbstractSession;
protected int checksum();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.ext.web.sstore.AbstractSession.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 3: aload 0
getfield io.vertx.ext.web.sstore.AbstractSession.data:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: io.vertx.ext.web.sstore.AbstractSession int top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 5: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: bipush 31
iload 1
imul
aload 4
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
7: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 5
start local 5 8: aload 5
ifnull 10
9: bipush 31
iload 1
imul
aload 5
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
end local 5 end local 4 end local 2 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/web/sstore/AbstractSession;
3 12 1 result I
5 10 2 kv Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
6 10 4 key Ljava/lang/String;
8 10 5 value Ljava/lang/Object;
}
SourceFile: "AbstractSession.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map