class com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor implements com.mongodb.internal.connection.ProtocolExecutor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor
super_class: java.lang.Object
{
final com.mongodb.internal.connection.DefaultServer this$0;
descriptor: Lcom/mongodb/internal/connection/DefaultServer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.mongodb.internal.connection.DefaultServer);
descriptor: (Lcom/mongodb/internal/connection/DefaultServer;)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.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
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/connection/DefaultServer$DefaultServerProtocolExecutor;
MethodParameters:
Name Flags
this$0 final
public <T> T execute(com.mongodb.internal.connection.LegacyProtocol<T>, com.mongodb.internal.connection.InternalConnection);
descriptor: (Lcom/mongodb/internal/connection/LegacyProtocol;Lcom/mongodb/internal/connection/InternalConnection;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
getfield com.mongodb.internal.connection.DefaultServer.commandListener:Lcom/mongodb/event/CommandListener;
invokeinterface com.mongodb.internal.connection.LegacyProtocol.setCommandListener:(Lcom/mongodb/event/CommandListener;)V
1: aload 1
aload 2
invokeinterface com.mongodb.internal.connection.LegacyProtocol.execute:(Lcom/mongodb/internal/connection/InternalConnection;)Ljava/lang/Object;
2: areturn
3: StackMap locals:
StackMap stack: com.mongodb.MongoException
astore 3
start local 3 4: aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
aload 3
invokevirtual com.mongodb.internal.connection.DefaultServer.invalidate:(Ljava/lang/Throwable;)V
5: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;
0 6 1 protocol Lcom/mongodb/internal/connection/LegacyProtocol<TT;>;
0 6 2 connection Lcom/mongodb/internal/connection/InternalConnection;
4 6 3 e Lcom/mongodb/MongoException;
Exception table:
from to target type
0 2 3 Class com.mongodb.MongoException
Signature: <T:Ljava/lang/Object;>(Lcom/mongodb/internal/connection/LegacyProtocol<TT;>;Lcom/mongodb/internal/connection/InternalConnection;)TT;
MethodParameters:
Name Flags
protocol final
connection final
public <T> void executeAsync(com.mongodb.internal.connection.LegacyProtocol<T>, com.mongodb.internal.connection.InternalConnection, com.mongodb.async.SingleResultCallback<T>);
descriptor: (Lcom/mongodb/internal/connection/LegacyProtocol;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
getfield com.mongodb.internal.connection.DefaultServer.commandListener:Lcom/mongodb/event/CommandListener;
invokeinterface com.mongodb.internal.connection.LegacyProtocol.setCommandListener:(Lcom/mongodb/event/CommandListener;)V
1: aload 1
aload 2
new com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$1
dup
aload 0
aload 3
invokespecial com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$1.<init>:(Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;Lcom/mongodb/async/SingleResultCallback;)V
2: getstatic com.mongodb.internal.connection.DefaultServer.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
3: invokestatic com.mongodb.internal.async.ErrorHandlingResultCallback.errorHandlingCallback:(Lcom/mongodb/async/SingleResultCallback;Lcom/mongodb/diagnostics/logging/Logger;)Lcom/mongodb/async/SingleResultCallback;
invokeinterface com.mongodb.internal.connection.LegacyProtocol.executeAsync:(Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;
0 5 1 protocol Lcom/mongodb/internal/connection/LegacyProtocol<TT;>;
0 5 2 connection Lcom/mongodb/internal/connection/InternalConnection;
0 5 3 callback Lcom/mongodb/async/SingleResultCallback<TT;>;
Signature: <T:Ljava/lang/Object;>(Lcom/mongodb/internal/connection/LegacyProtocol<TT;>;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback<TT;>;)V
MethodParameters:
Name Flags
protocol final
connection final
callback final
public <T> T execute(com.mongodb.internal.connection.CommandProtocol<T>, com.mongodb.internal.connection.InternalConnection, com.mongodb.session.SessionContext);
descriptor: (Lcom/mongodb/internal/connection/CommandProtocol;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/session/SessionContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new com.mongodb.internal.connection.ClusterClockAdvancingSessionContext
dup
aload 3
aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
getfield com.mongodb.internal.connection.DefaultServer.clusterClock:Lcom/mongodb/internal/connection/ClusterClock;
invokespecial com.mongodb.internal.connection.ClusterClockAdvancingSessionContext.<init>:(Lcom/mongodb/session/SessionContext;Lcom/mongodb/internal/connection/ClusterClock;)V
invokeinterface com.mongodb.internal.connection.CommandProtocol.sessionContext:(Lcom/mongodb/session/SessionContext;)Lcom/mongodb/internal/connection/CommandProtocol;
pop
1: aload 1
aload 2
invokeinterface com.mongodb.internal.connection.CommandProtocol.execute:(Lcom/mongodb/internal/connection/InternalConnection;)Ljava/lang/Object;
2: areturn
3: StackMap locals:
StackMap stack: com.mongodb.internal.connection.MongoWriteConcernWithResponseException
astore 4
start local 4 4: aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
invokevirtual com.mongodb.internal.connection.DefaultServer.invalidate:()V
5: aload 4
invokevirtual com.mongodb.internal.connection.MongoWriteConcernWithResponseException.getResponse:()Ljava/lang/Object;
areturn
end local 4 6: StackMap locals:
StackMap stack: com.mongodb.MongoException
astore 4
start local 4 7: aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
aload 4
aload 3
invokevirtual com.mongodb.internal.connection.DefaultServer.invalidate:(Ljava/lang/Throwable;Lcom/mongodb/session/SessionContext;)V
8: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;
0 9 1 protocol Lcom/mongodb/internal/connection/CommandProtocol<TT;>;
0 9 2 connection Lcom/mongodb/internal/connection/InternalConnection;
0 9 3 sessionContext Lcom/mongodb/session/SessionContext;
4 6 4 e Lcom/mongodb/internal/connection/MongoWriteConcernWithResponseException;
7 9 4 e Lcom/mongodb/MongoException;
Exception table:
from to target type
0 2 3 Class com.mongodb.internal.connection.MongoWriteConcernWithResponseException
0 2 6 Class com.mongodb.MongoException
Signature: <T:Ljava/lang/Object;>(Lcom/mongodb/internal/connection/CommandProtocol<TT;>;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/session/SessionContext;)TT;
MethodParameters:
Name Flags
protocol final
connection final
sessionContext final
public <T> void executeAsync(com.mongodb.internal.connection.CommandProtocol<T>, com.mongodb.internal.connection.InternalConnection, com.mongodb.session.SessionContext, com.mongodb.async.SingleResultCallback<T>);
descriptor: (Lcom/mongodb/internal/connection/CommandProtocol;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/session/SessionContext;Lcom/mongodb/async/SingleResultCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
new com.mongodb.internal.connection.ClusterClockAdvancingSessionContext
dup
aload 3
aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
getfield com.mongodb.internal.connection.DefaultServer.clusterClock:Lcom/mongodb/internal/connection/ClusterClock;
invokespecial com.mongodb.internal.connection.ClusterClockAdvancingSessionContext.<init>:(Lcom/mongodb/session/SessionContext;Lcom/mongodb/internal/connection/ClusterClock;)V
invokeinterface com.mongodb.internal.connection.CommandProtocol.sessionContext:(Lcom/mongodb/session/SessionContext;)Lcom/mongodb/internal/connection/CommandProtocol;
pop
1: aload 1
aload 2
new com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$2
dup
aload 0
aload 4
aload 3
invokespecial com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$2.<init>:(Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;Lcom/mongodb/async/SingleResultCallback;Lcom/mongodb/session/SessionContext;)V
2: getstatic com.mongodb.internal.connection.DefaultServer.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
3: invokestatic com.mongodb.internal.async.ErrorHandlingResultCallback.errorHandlingCallback:(Lcom/mongodb/async/SingleResultCallback;Lcom/mongodb/diagnostics/logging/Logger;)Lcom/mongodb/async/SingleResultCallback;
invokeinterface com.mongodb.internal.connection.CommandProtocol.executeAsync:(Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback;)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;
0 5 1 protocol Lcom/mongodb/internal/connection/CommandProtocol<TT;>;
0 5 2 connection Lcom/mongodb/internal/connection/InternalConnection;
0 5 3 sessionContext Lcom/mongodb/session/SessionContext;
0 5 4 callback Lcom/mongodb/async/SingleResultCallback<TT;>;
Signature: <T:Ljava/lang/Object;>(Lcom/mongodb/internal/connection/CommandProtocol<TT;>;Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/session/SessionContext;Lcom/mongodb/async/SingleResultCallback<TT;>;)V
MethodParameters:
Name Flags
protocol final
connection final
sessionContext final
callback final
static com.mongodb.internal.connection.DefaultServer access$0(com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor);
descriptor: (Lcom/mongodb/internal/connection/DefaultServer$DefaultServerProtocolExecutor;)Lcom/mongodb/internal/connection/DefaultServer;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.this$0:Lcom/mongodb/internal/connection/DefaultServer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DefaultServer.java"
NestHost: com.mongodb.internal.connection.DefaultServer
InnerClasses:
private DefaultServerProtocolExecutor = com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor of com.mongodb.internal.connection.DefaultServer
com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$1
com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor$2