class com.mongodb.internal.session.ServerSessionPool$2 implements com.mongodb.selector.ServerSelector
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.session.ServerSessionPool$2
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 final java.util.List val$primaryPreferred;
descriptor: Ljava/util/List;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.internal.session.ServerSessionPool, java.util.List);
descriptor: (Lcom/mongodb/internal/session/ServerSessionPool;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.mongodb.internal.session.ServerSessionPool$2 this
0: .line 146
aload 0 /* this */
aload 1
putfield com.mongodb.internal.session.ServerSessionPool$2.this$0:Lcom/mongodb/internal/session/ServerSessionPool;
aload 0 /* this */
aload 2
putfield com.mongodb.internal.session.ServerSessionPool$2.val$primaryPreferred:Ljava/util/List;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.mongodb.internal.session.ServerSessionPool$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/session/ServerSessionPool$2;
MethodParameters:
Name Flags
this$0 final
val$primaryPreferred final
public java.util.List<com.mongodb.connection.ServerDescription> select(com.mongodb.connection.ClusterDescription);
descriptor: (Lcom/mongodb/connection/ClusterDescription;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 // com.mongodb.internal.session.ServerSessionPool$2 this
start local 1 // com.mongodb.connection.ClusterDescription clusterDescription
0: .line 149
aload 1 /* clusterDescription */
invokevirtual com.mongodb.connection.ClusterDescription.getServerDescriptions:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.mongodb.internal.session.ServerSessionPool$2 com.mongodb.connection.ClusterDescription top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.connection.ServerDescription
astore 2 /* cur */
start local 2 // com.mongodb.connection.ServerDescription cur
2: .line 150
aload 2 /* cur */
invokevirtual com.mongodb.connection.ServerDescription.getAddress:()Lcom/mongodb/ServerAddress;
aload 0 /* this */
getfield com.mongodb.internal.session.ServerSessionPool$2.val$primaryPreferred:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.connection.ServerDescription
invokevirtual com.mongodb.connection.ServerDescription.getAddress:()Lcom/mongodb/ServerAddress;
invokevirtual com.mongodb.ServerAddress.equals:(Ljava/lang/Object;)Z
ifeq 4
3: .line 151
aload 2 /* cur */
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 2 // com.mongodb.connection.ServerDescription cur
4: .line 149
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: .line 154
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 // com.mongodb.connection.ClusterDescription clusterDescription
end local 0 // com.mongodb.internal.session.ServerSessionPool$2 this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/session/ServerSessionPool$2;
0 6 1 clusterDescription Lcom/mongodb/connection/ClusterDescription;
2 4 2 cur Lcom/mongodb/connection/ServerDescription;
Signature: (Lcom/mongodb/connection/ClusterDescription;)Ljava/util/List<Lcom/mongodb/connection/ServerDescription;>;
MethodParameters:
Name Flags
clusterDescription final
}
SourceFile: "ServerSessionPool.java"
EnclosingMethod: com.mongodb.internal.session.ServerSessionPool.endClosedSessions:(Ljava/util/List;)V
NestHost: com.mongodb.internal.session.ServerSessionPool
InnerClasses:
com.mongodb.internal.session.ServerSessionPool$2