class com.mongodb.internal.connection.QueryProtocol$QueryResultCallback extends com.mongodb.internal.connection.ResponseCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.QueryProtocol$QueryResultCallback
super_class: com.mongodb.internal.connection.ResponseCallback
{
private final com.mongodb.async.SingleResultCallback<com.mongodb.connection.QueryResult<T>> callback;
descriptor: Lcom/mongodb/async/SingleResultCallback;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;
private final com.mongodb.connection.ConnectionDescription connectionDescription;
descriptor: Lcom/mongodb/connection/ConnectionDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long startTimeNanos;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.mongodb.internal.connection.QueryMessage message;
descriptor: Lcom/mongodb/internal/connection/QueryMessage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isExplainEvent;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.mongodb.internal.connection.QueryProtocol this$0;
descriptor: Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.async.SingleResultCallback<com.mongodb.connection.QueryResult<T>>, int, long, com.mongodb.internal.connection.QueryMessage, boolean, com.mongodb.connection.ConnectionDescription);
descriptor: (Lcom/mongodb/internal/connection/QueryProtocol;Lcom/mongodb/async/SingleResultCallback;IJLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/connection/ConnectionDescription;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=8
start local 0 start local 2 start local 3 start local 4 start local 6 start local 7 start local 8 0: aload 0
aload 1
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
1: aload 0
iload 3
i2l
aload 8
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
invokespecial com.mongodb.internal.connection.ResponseCallback.<init>:(JLcom/mongodb/ServerAddress;)V
2: aload 0
aload 2
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
3: aload 0
lload 4
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.startTimeNanos:J
4: aload 0
aload 6
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.message:Lcom/mongodb/internal/connection/QueryMessage;
5: aload 0
iload 7
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.isExplainEvent:Z
6: aload 0
aload 8
putfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
7: return
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/internal/connection/QueryProtocol$QueryResultCallback;
0 8 2 callback Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;
0 8 3 requestId I
0 8 4 startTimeNanos J
0 8 6 message Lcom/mongodb/internal/connection/QueryMessage;
0 8 7 isExplainEvent Z
0 8 8 connectionDescription Lcom/mongodb/connection/ConnectionDescription;
Signature: (Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;IJLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/connection/ConnectionDescription;)V
MethodParameters:
Name Flags
this$0 final
callback final
requestId final
startTimeNanos final
message final
isExplainEvent final
connectionDescription final
protected void callCallback(com.mongodb.internal.connection.ResponseBuffers, java.lang.Throwable);
descriptor: (Lcom/mongodb/internal/connection/ResponseBuffers;Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: aload 2
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.isQueryFailure:()Z
ifeq 9
3: new com.mongodb.internal.connection.ReplyMessage
dup
aload 1
new org.bson.codecs.BsonDocumentCodec
dup
invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
4: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.getRequestId:()J
5: invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
6: invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bson.BsonDocument
7: astore 3
start local 3 8: aload 3
aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.getServerAddress:()Lcom/mongodb/ServerAddress;
invokestatic com.mongodb.internal.connection.ProtocolHelper.getQueryFailureException:(Lorg/bson/BsonDocument;Lcom/mongodb/ServerAddress;)Lcom/mongodb/MongoException;
athrow
end local 3 9: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.ReplyMessage
dup
aload 1
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
getfield com.mongodb.internal.connection.QueryProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.getRequestId:()J
invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
astore 3
start local 3 10: new com.mongodb.connection.QueryResult
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
aload 3
invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
11: aload 3
invokevirtual com.mongodb.internal.connection.ReplyMessage.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.getCursorId:()J
aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.getServerAddress:()Lcom/mongodb/ServerAddress;
12: invokespecial com.mongodb.connection.QueryResult.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;JLcom/mongodb/ServerAddress;)V
astore 4
start local 4 13: aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.startTimeNanos:J
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.message:Lcom/mongodb/internal/connection/QueryMessage;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.isExplainEvent:Z
aload 1
aload 4
invokevirtual com.mongodb.internal.connection.QueryProtocol.sendQuerySucceededEvent:(Lcom/mongodb/connection/ConnectionDescription;JLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult;)V
14: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
ifeq 19
15: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Query results received %s documents with cursor %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
16: aload 4
invokevirtual com.mongodb.connection.QueryResult.getResults:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
17: aload 4
invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
aastore
18: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;)V
19: StackMap locals: com.mongodb.internal.connection.ReplyMessage com.mongodb.connection.QueryResult
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
aload 4
aconst_null
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 end local 3 20: goto 40
StackMap locals: com.mongodb.internal.connection.QueryProtocol$QueryResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
StackMap stack: java.lang.Throwable
21: astore 3
start local 3 22: aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 26
23: aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.message:Lcom/mongodb/internal/connection/QueryMessage;
ldc "find"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
invokestatic java.lang.System.nanoTime:()J
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.startTimeNanos:J
lsub
aload 3
24: aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.this$0:Lcom/mongodb/internal/connection/QueryProtocol;
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
25: invokestatic com.mongodb.internal.connection.ProtocolHelper.sendCommandFailedEvent:(Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;Lcom/mongodb/connection/ConnectionDescription;JLjava/lang/Throwable;Lcom/mongodb/event/CommandListener;)V
26: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
aconst_null
aload 3
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 3 27: aload 1
ifnull 45
28: aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
29: goto 45
StackMap locals: com.mongodb.internal.connection.QueryProtocol$QueryResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
StackMap stack: java.lang.Throwable
30: astore 6
start local 6 31: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "GetMore ResponseBuffer close exception"
aload 6
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 32: goto 45
33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
34: aload 1
ifnull 39
35: aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
36: goto 39
StackMap locals: com.mongodb.internal.connection.QueryProtocol$QueryResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable top top java.lang.Throwable
StackMap stack: java.lang.Throwable
37: astore 6
start local 6 38: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "GetMore ResponseBuffer close exception"
aload 6
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 39: StackMap locals:
StackMap stack:
aload 5
athrow
40: StackMap locals: com.mongodb.internal.connection.QueryProtocol$QueryResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
StackMap stack:
aload 1
ifnull 45
41: aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
42: goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 6
start local 6 44: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "GetMore ResponseBuffer close exception"
aload 6
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 45: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/mongodb/internal/connection/QueryProtocol$QueryResultCallback;
0 46 1 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
0 46 2 throwableFromCallback Ljava/lang/Throwable;
8 9 3 errorDocument Lorg/bson/BsonDocument;
10 20 3 replyMessage Lcom/mongodb/internal/connection/ReplyMessage<TT;>;
13 20 4 result Lcom/mongodb/connection/QueryResult<TT;>;
22 27 3 t Ljava/lang/Throwable;
31 32 6 t1 Ljava/lang/Throwable;
38 39 6 t1 Ljava/lang/Throwable;
44 45 6 t1 Ljava/lang/Throwable;
Exception table:
from to target type
0 20 21 Class java.lang.Throwable
27 29 30 Class java.lang.Throwable
0 27 33 any
34 36 37 Class java.lang.Throwable
40 42 43 Class java.lang.Throwable
MethodParameters:
Name Flags
responseBuffers final
throwableFromCallback final
}
SourceFile: "QueryProtocol.java"
NestHost: com.mongodb.internal.connection.QueryProtocol
InnerClasses:
QueryResultCallback = com.mongodb.internal.connection.QueryProtocol$QueryResultCallback of com.mongodb.internal.connection.QueryProtocol