final class com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory implements com.mongodb.internal.connection.ConcurrentPool$ItemFactory<com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory
super_class: java.lang.Object
{
final com.mongodb.internal.session.ServerSessionPool this$0;
descriptor: Lcom/mongodb/internal/session/ServerSessionPool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.mongodb.internal.session.ServerSessionPool);
descriptor: (Lcom/mongodb/internal/session/ServerSessionPool;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.this$0:Lcom/mongodb/internal/session/ServerSessionPool;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionItemFactory;
MethodParameters:
Name Flags
this$0 final
public com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl create(boolean);
descriptor: (Z)Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl
dup
aload 0
getfield com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.this$0:Lcom/mongodb/internal/session/ServerSessionPool;
aload 0
invokevirtual com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.createNewServerSessionIdentifier:()Lorg/bson/BsonBinary;
invokespecial com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl.<init>:(Lcom/mongodb/internal/session/ServerSessionPool;Lorg/bson/BsonBinary;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionItemFactory;
0 1 1 initialize Z
MethodParameters:
Name Flags
initialize final
public void close(com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl);
descriptor: (Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.this$0:Lcom/mongodb/internal/session/ServerSessionPool;
aload 1
invokevirtual com.mongodb.internal.session.ServerSessionPool.closeSession:(Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionItemFactory;
0 2 1 serverSession Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;
MethodParameters:
Name Flags
serverSession final
public com.mongodb.internal.connection.ConcurrentPool$Prune shouldPrune(com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl);
descriptor: (Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.this$0:Lcom/mongodb/internal/session/ServerSessionPool;
aload 1
invokevirtual com.mongodb.internal.session.ServerSessionPool.shouldPrune:(Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)Z
ifeq 1
getstatic com.mongodb.internal.connection.ConcurrentPool$Prune.YES:Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
goto 2
StackMap locals:
StackMap stack:
1: getstatic com.mongodb.internal.connection.ConcurrentPool$Prune.STOP:Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
StackMap locals:
StackMap stack: com.mongodb.internal.connection.ConcurrentPool$Prune
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionItemFactory;
0 3 1 serverSession Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;
Signature: (Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
MethodParameters:
Name Flags
serverSession final
private org.bson.BsonBinary createNewServerSessionIdentifier();
descriptor: ()Lorg/bson/BsonBinary;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: new org.bson.codecs.UuidCodec
dup
getstatic org.bson.UuidRepresentation.STANDARD:Lorg/bson/UuidRepresentation;
invokespecial org.bson.codecs.UuidCodec.<init>:(Lorg/bson/UuidRepresentation;)V
astore 1
start local 1 1: new org.bson.BsonDocument
dup
invokespecial org.bson.BsonDocument.<init>:()V
astore 2
start local 2 2: new org.bson.BsonDocumentWriter
dup
aload 2
invokespecial org.bson.BsonDocumentWriter.<init>:(Lorg/bson/BsonDocument;)V
astore 3
start local 3 3: aload 3
invokevirtual org.bson.BsonDocumentWriter.writeStartDocument:()V
4: aload 3
ldc "id"
invokevirtual org.bson.BsonDocumentWriter.writeName:(Ljava/lang/String;)V
5: aload 1
aload 3
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokestatic org.bson.codecs.EncoderContext.builder:()Lorg/bson/codecs/EncoderContext$Builder;
invokevirtual org.bson.codecs.EncoderContext$Builder.build:()Lorg/bson/codecs/EncoderContext;
invokevirtual org.bson.codecs.UuidCodec.encode:(Lorg/bson/BsonWriter;Ljava/util/UUID;Lorg/bson/codecs/EncoderContext;)V
6: aload 3
invokevirtual org.bson.BsonDocumentWriter.writeEndDocument:()V
7: aload 2
ldc "id"
invokevirtual org.bson.BsonDocument.getBinary:(Ljava/lang/Object;)Lorg/bson/BsonBinary;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionItemFactory;
1 8 1 uuidCodec Lorg/bson/codecs/UuidCodec;
2 8 2 holder Lorg/bson/BsonDocument;
3 8 3 bsonDocumentWriter Lorg/bson/BsonDocumentWriter;
public java.lang.Object create(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.create:(Z)Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void close(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl
invokevirtual com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.close:(Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)V
return
LocalVariableTable:
Start End Slot Name Signature
public com.mongodb.internal.connection.ConcurrentPool$Prune shouldPrune(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl
invokevirtual com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory.shouldPrune:(Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lcom/mongodb/internal/connection/ConcurrentPool$ItemFactory<Lcom/mongodb/internal/session/ServerSessionPool$ServerSessionImpl;>;
SourceFile: "ServerSessionPool.java"
NestHost: com.mongodb.internal.session.ServerSessionPool
InnerClasses:
public abstract ItemFactory = com.mongodb.internal.connection.ConcurrentPool$ItemFactory of com.mongodb.internal.connection.ConcurrentPool
public final Prune = com.mongodb.internal.connection.ConcurrentPool$Prune of com.mongodb.internal.connection.ConcurrentPool
final ServerSessionImpl = com.mongodb.internal.session.ServerSessionPool$ServerSessionImpl of com.mongodb.internal.session.ServerSessionPool
private final ServerSessionItemFactory = com.mongodb.internal.session.ServerSessionPool$ServerSessionItemFactory of com.mongodb.internal.session.ServerSessionPool
public final Builder = org.bson.codecs.EncoderContext$Builder of org.bson.codecs.EncoderContext