class com.mongodb.internal.connection.QueryProtocol<T> implements com.mongodb.internal.connection.LegacyProtocol<com.mongodb.connection.QueryResult<T>>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.QueryProtocol
super_class: java.lang.Object
{
public static final com.mongodb.diagnostics.logging.Logger LOGGER;
descriptor: Lcom/mongodb/diagnostics/logging/Logger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.String FIND_COMMAND_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "find"
private static final java.lang.String EXPLAIN_COMMAND_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "explain"
private final int skip;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int limit;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int batchSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int numberToReturn;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean withLimitAndBatchSize;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.BsonDocument queryDocument;
descriptor: Lorg/bson/BsonDocument;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.BsonDocument fields;
descriptor: Lorg/bson/BsonDocument;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.codecs.Decoder<T> resultDecoder;
descriptor: Lorg/bson/codecs/Decoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/bson/codecs/Decoder<TT;>;
private final com.mongodb.MongoNamespace namespace;
descriptor: Lcom/mongodb/MongoNamespace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean tailableCursor;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean slaveOk;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean oplogReplay;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noCursorTimeout;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean awaitData;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean partial;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.mongodb.event.CommandListener commandListener;
descriptor: Lcom/mongodb/event/CommandListener;
flags: (0x0002) ACC_PRIVATE
private static final java.util.Map<java.lang.String, java.lang.String> META_OPERATOR_TO_COMMAND_FIELD_MAP;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "protocol.query"
invokestatic com.mongodb.diagnostics.logging.Loggers.getLogger:(Ljava/lang/String;)Lcom/mongodb/diagnostics/logging/Logger;
putstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
2: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$query"
ldc "filter"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$orderby"
ldc "sort"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$hint"
ldc "hint"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$comment"
ldc "comment"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$maxScan"
ldc "maxScan"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$maxTimeMS"
ldc "maxTimeMS"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$max"
ldc "max"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$min"
ldc "min"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$returnKey"
ldc "returnKey"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$showDiskLoc"
ldc "showRecordId"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
ldc "$snapshot"
ldc "snapshot"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.mongodb.MongoNamespace, int, int, org.bson.BsonDocument, org.bson.BsonDocument, org.bson.codecs.Decoder<T>);
descriptor: (Lcom/mongodb/MongoNamespace;IILorg/bson/BsonDocument;Lorg/bson/BsonDocument;Lorg/bson/codecs/Decoder;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
2: aload 0
iload 2
putfield com.mongodb.internal.connection.QueryProtocol.skip:I
3: aload 0
iconst_0
putfield com.mongodb.internal.connection.QueryProtocol.withLimitAndBatchSize:Z
4: aload 0
iload 3
putfield com.mongodb.internal.connection.QueryProtocol.numberToReturn:I
5: aload 0
iconst_0
putfield com.mongodb.internal.connection.QueryProtocol.limit:I
6: aload 0
iconst_0
putfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
7: aload 0
aload 4
putfield com.mongodb.internal.connection.QueryProtocol.queryDocument:Lorg/bson/BsonDocument;
8: aload 0
aload 5
putfield com.mongodb.internal.connection.QueryProtocol.fields:Lorg/bson/BsonDocument;
9: aload 0
aload 6
putfield com.mongodb.internal.connection.QueryProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 11 1 namespace Lcom/mongodb/MongoNamespace;
0 11 2 skip I
0 11 3 numberToReturn I
0 11 4 queryDocument Lorg/bson/BsonDocument;
0 11 5 fields Lorg/bson/BsonDocument;
0 11 6 resultDecoder Lorg/bson/codecs/Decoder<TT;>;
Signature: (Lcom/mongodb/MongoNamespace;IILorg/bson/BsonDocument;Lorg/bson/BsonDocument;Lorg/bson/codecs/Decoder<TT;>;)V
MethodParameters:
Name Flags
namespace final
skip final
numberToReturn final
queryDocument final
fields final
resultDecoder final
void <init>(com.mongodb.MongoNamespace, int, int, int, org.bson.BsonDocument, org.bson.BsonDocument, org.bson.codecs.Decoder<T>);
descriptor: (Lcom/mongodb/MongoNamespace;IIILorg/bson/BsonDocument;Lorg/bson/BsonDocument;Lorg/bson/codecs/Decoder;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
2: aload 0
iload 2
putfield com.mongodb.internal.connection.QueryProtocol.skip:I
3: aload 0
iconst_1
putfield com.mongodb.internal.connection.QueryProtocol.withLimitAndBatchSize:Z
4: aload 0
iconst_0
putfield com.mongodb.internal.connection.QueryProtocol.numberToReturn:I
5: aload 0
iload 3
putfield com.mongodb.internal.connection.QueryProtocol.limit:I
6: aload 0
iload 4
putfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
7: aload 0
aload 5
putfield com.mongodb.internal.connection.QueryProtocol.queryDocument:Lorg/bson/BsonDocument;
8: aload 0
aload 6
putfield com.mongodb.internal.connection.QueryProtocol.fields:Lorg/bson/BsonDocument;
9: aload 0
aload 7
putfield com.mongodb.internal.connection.QueryProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
10: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 11 1 namespace Lcom/mongodb/MongoNamespace;
0 11 2 skip I
0 11 3 limit I
0 11 4 batchSize I
0 11 5 queryDocument Lorg/bson/BsonDocument;
0 11 6 fields Lorg/bson/BsonDocument;
0 11 7 resultDecoder Lorg/bson/codecs/Decoder<TT;>;
Signature: (Lcom/mongodb/MongoNamespace;IIILorg/bson/BsonDocument;Lorg/bson/BsonDocument;Lorg/bson/codecs/Decoder<TT;>;)V
MethodParameters:
Name Flags
namespace final
skip final
limit final
batchSize final
queryDocument final
fields final
resultDecoder final
public void setCommandListener(com.mongodb.event.CommandListener);
descriptor: (Lcom/mongodb/event/CommandListener;)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 com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 commandListener Lcom/mongodb/event/CommandListener;
MethodParameters:
Name Flags
commandListener final
public com.mongodb.event.CommandListener getCommandListener();
descriptor: ()Lcom/mongodb/event/CommandListener;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public boolean isTailableCursor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.tailableCursor:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> tailableCursor(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.tailableCursor:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 tailableCursor Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
tailableCursor final
public boolean isSlaveOk();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.slaveOk:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> slaveOk(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.slaveOk:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 slaveOk Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
slaveOk final
public boolean isOplogReplay();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.oplogReplay:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> oplogReplay(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.oplogReplay:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 oplogReplay Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
oplogReplay final
public boolean isNoCursorTimeout();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.noCursorTimeout:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> noCursorTimeout(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.noCursorTimeout:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 noCursorTimeout Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
noCursorTimeout final
public boolean isAwaitData();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.awaitData:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> awaitData(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.awaitData:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 awaitData Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
awaitData final
public boolean isPartial();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.partial:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
public com.mongodb.internal.connection.QueryProtocol<T> partial(boolean);
descriptor: (Z)Lcom/mongodb/internal/connection/QueryProtocol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.mongodb.internal.connection.QueryProtocol.partial:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 2 1 partial Z
Signature: (Z)Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
MethodParameters:
Name Flags
partial final
public com.mongodb.connection.QueryResult<T> execute(com.mongodb.internal.connection.InternalConnection);
descriptor: (Lcom/mongodb/internal/connection/InternalConnection;)Lcom/mongodb/connection/QueryResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=2
start local 0 start local 1 0: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
ifeq 4
1: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Sending query of namespace %s on connection [%s] to server %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
aastore
dup
iconst_1
2: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getConnectionId:()Lcom/mongodb/connection/ConnectionId;
aastore
dup
iconst_2
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
aastore
3: 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
4: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 2
start local 2 5: aconst_null
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: new com.mongodb.connection.ByteBufferBsonOutput
dup
aload 1
invokespecial com.mongodb.connection.ByteBufferBsonOutput.<init>:(Lcom/mongodb/connection/BufferProvider;)V
astore 6
start local 6 8: aload 0
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.internal.connection.QueryProtocol.createQueryMessage:(Lcom/mongodb/connection/ConnectionDescription;)Lcom/mongodb/internal/connection/QueryMessage;
astore 4
9: aload 4
aload 6
getstatic com.mongodb.internal.connection.NoOpSessionContext.INSTANCE:Lcom/mongodb/internal/connection/NoOpSessionContext;
invokevirtual com.mongodb.internal.connection.QueryMessage.encode:(Lorg/bson/io/BsonOutput;Lcom/mongodb/session/SessionContext;)V
10: aload 0
aload 1
aload 4
aload 6
aload 4
invokevirtual com.mongodb.internal.connection.QueryMessage.getEncodingMetadata:()Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;
invokevirtual com.mongodb.internal.connection.QueryProtocol.sendQueryStartedEvent:(Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/internal/connection/QueryMessage;Lcom/mongodb/connection/ByteBufferBsonOutput;Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;)Z
istore 5
11: aload 1
aload 6
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.getByteBuffers:()Ljava/util/List;
aload 4
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
invokeinterface com.mongodb.internal.connection.InternalConnection.sendMessage:(Ljava/util/List;I)V
12: goto 16
StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.internal.connection.InternalConnection long com.mongodb.internal.connection.QueryMessage int com.mongodb.connection.ByteBufferBsonOutput
StackMap stack: java.lang.Throwable
13: astore 7
14: aload 6
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.close:()V
15: aload 7
athrow
16: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.close:()V
17: aload 1
aload 4
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
invokeinterface com.mongodb.internal.connection.InternalConnection.receiveMessage:(I)Lcom/mongodb/internal/connection/ResponseBuffers;
astore 7
start local 7 18: aload 7
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.isQueryFailure:()Z
ifeq 26
19: new com.mongodb.internal.connection.ReplyMessage
dup
aload 7
20: new org.bson.codecs.BsonDocumentCodec
dup
invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
21: aload 4
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
i2l
22: invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
23: 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
24: astore 8
start local 8 25: aload 8
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
invokestatic com.mongodb.internal.connection.ProtocolHelper.getQueryFailureException:(Lorg/bson/BsonDocument;Lcom/mongodb/ServerAddress;)Lcom/mongodb/MongoException;
athrow
end local 8 26: StackMap locals: com.mongodb.internal.connection.ResponseBuffers
StackMap stack:
new com.mongodb.internal.connection.ReplyMessage
dup
aload 7
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
aload 4
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
i2l
invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
astore 8
start local 8 27: new com.mongodb.connection.QueryResult
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
aload 8
invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
28: aload 8
invokevirtual com.mongodb.internal.connection.ReplyMessage.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.getCursorId:()J
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
29: invokespecial com.mongodb.connection.QueryResult.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;JLcom/mongodb/ServerAddress;)V
astore 9
start local 9 30: aload 0
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
lload 2
aload 4
iload 5
aload 7
aload 9
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
31: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Query completed"
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;)V
32: aload 9
astore 11
33: aload 7
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
34: aload 11
areturn
end local 9 end local 8 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
36: aload 7
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
37: aload 10
athrow
end local 7 end local 6 end local 5 38: StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.internal.connection.InternalConnection long com.mongodb.internal.connection.QueryMessage
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 39: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 43
40: aload 4
ldc "find"
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
aload 5
41: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
42: 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
43: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 5
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 44 1 connection Lcom/mongodb/internal/connection/InternalConnection;
5 44 2 startTimeNanos J
6 44 4 message Lcom/mongodb/internal/connection/QueryMessage;
7 38 5 isExplain Z
8 38 6 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
18 38 7 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
25 26 8 errorDocument Lorg/bson/BsonDocument;
27 35 8 replyMessage Lcom/mongodb/internal/connection/ReplyMessage<TT;>;
30 35 9 result Lcom/mongodb/connection/QueryResult<TT;>;
39 44 5 e Ljava/lang/RuntimeException;
Exception table:
from to target type
8 13 13 any
18 33 35 any
6 34 38 Class java.lang.RuntimeException
35 38 38 Class java.lang.RuntimeException
Signature: (Lcom/mongodb/internal/connection/InternalConnection;)Lcom/mongodb/connection/QueryResult<TT;>;
MethodParameters:
Name Flags
connection final
public void executeAsync(com.mongodb.internal.connection.InternalConnection, com.mongodb.async.SingleResultCallback<com.mongodb.connection.QueryResult<T>>);
descriptor: (Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.nanoTime:()J
lstore 3
start local 3 1: aload 0
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.internal.connection.QueryProtocol.createQueryMessage:(Lcom/mongodb/connection/ConnectionDescription;)Lcom/mongodb/internal/connection/QueryMessage;
astore 5
start local 5 2: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
ifeq 6
3: getstatic com.mongodb.internal.connection.QueryProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Asynchronously sending query of namespace %s on connection [%s] to server %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
aastore
dup
iconst_1
4: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getConnectionId:()Lcom/mongodb/connection/ConnectionId;
aastore
dup
iconst_2
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
aastore
5: 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
6: StackMap locals: long com.mongodb.internal.connection.QueryMessage
StackMap stack:
new com.mongodb.connection.ByteBufferBsonOutput
dup
aload 1
invokespecial com.mongodb.connection.ByteBufferBsonOutput.<init>:(Lcom/mongodb/connection/BufferProvider;)V
astore 6
start local 6 7: aload 5
aload 6
invokestatic com.mongodb.internal.connection.ProtocolHelper.encodeMessageWithMetadata:(Lcom/mongodb/internal/connection/RequestMessage;Lorg/bson/io/BsonOutput;)Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;
astore 7
start local 7 8: aload 0
aload 1
aload 5
aload 6
aload 7
invokevirtual com.mongodb.internal.connection.QueryProtocol.sendQueryStartedEvent:(Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/internal/connection/QueryMessage;Lcom/mongodb/connection/ByteBufferBsonOutput;Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;)Z
istore 8
start local 8 9: new com.mongodb.internal.connection.QueryProtocol$QueryResultCallback
dup
aload 0
aload 2
aload 5
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
10: lload 3
aload 5
iload 8
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
11: invokespecial com.mongodb.internal.connection.QueryProtocol$QueryResultCallback.<init>:(Lcom/mongodb/internal/connection/QueryProtocol;Lcom/mongodb/async/SingleResultCallback;IJLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/connection/ConnectionDescription;)V
astore 9
start local 9 12: aload 1
aload 6
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.getByteBuffers:()Ljava/util/List;
aload 5
invokevirtual com.mongodb.internal.connection.QueryMessage.getId:()I
13: new com.mongodb.internal.connection.SendMessageCallback
dup
aload 1
aload 6
aload 5
14: aload 0
iload 8
invokevirtual com.mongodb.internal.connection.QueryProtocol.getCommandName:(Z)Ljava/lang/String;
lload 3
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
aload 2
15: aload 9
16: invokespecial com.mongodb.internal.connection.SendMessageCallback.<init>:(Lcom/mongodb/internal/connection/InternalConnection;Lorg/bson/io/OutputBuffer;Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;JLcom/mongodb/event/CommandListener;Lcom/mongodb/async/SingleResultCallback;Lcom/mongodb/async/SingleResultCallback;)V
17: invokeinterface com.mongodb.internal.connection.InternalConnection.sendMessageAsync:(Ljava/util/List;ILcom/mongodb/async/SingleResultCallback;)V
end local 9 end local 8 end local 7 end local 6 18: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 6
start local 6 20: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 24
21: aload 5
ldc "find"
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokestatic java.lang.System.nanoTime:()J
lload 3
lsub
aload 6
22: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
23: 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
24: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
aconst_null
aload 6
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 6 25: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 26 1 connection Lcom/mongodb/internal/connection/InternalConnection;
0 26 2 callback Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;
1 26 3 startTimeNanos J
2 26 5 message Lcom/mongodb/internal/connection/QueryMessage;
7 18 6 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
8 18 7 metadata Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;
9 18 8 isExplainEvent Z
12 18 9 receiveCallback Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/internal/connection/ResponseBuffers;>;
20 25 6 t Ljava/lang/Throwable;
Exception table:
from to target type
2 18 19 Class java.lang.Throwable
Signature: (Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;)V
MethodParameters:
Name Flags
connection final
callback final
private boolean sendQueryStartedEvent(com.mongodb.internal.connection.InternalConnection, com.mongodb.internal.connection.QueryMessage, com.mongodb.connection.ByteBufferBsonOutput, com.mongodb.internal.connection.RequestMessage$EncodingMetadata);
descriptor: (Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/internal/connection/QueryMessage;Lcom/mongodb/connection/ByteBufferBsonOutput;Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 9
2: aload 0
aload 3
aload 4
invokevirtual com.mongodb.internal.connection.RequestMessage$EncodingMetadata.getFirstDocumentPosition:()I
invokevirtual com.mongodb.internal.connection.QueryProtocol.asFindCommandDocument:(Lcom/mongodb/connection/ByteBufferBsonOutput;I)Lorg/bson/BsonDocument;
astore 6
start local 6 3: aload 6
invokevirtual org.bson.BsonDocument.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
ldc "explain"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 5
4: aload 2
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getDatabaseName:()Ljava/lang/String;
5: aload 0
iload 5
invokevirtual com.mongodb.internal.connection.QueryProtocol.getCommandName:(Z)Ljava/lang/String;
6: aload 6
7: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
8: invokestatic com.mongodb.internal.connection.ProtocolHelper.sendCommandStartedEvent:(Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;Ljava/lang/String;Lorg/bson/BsonDocument;Lcom/mongodb/connection/ConnectionDescription;Lcom/mongodb/event/CommandListener;)V
end local 6 9: StackMap locals: int
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 10 1 connection Lcom/mongodb/internal/connection/InternalConnection;
0 10 2 message Lcom/mongodb/internal/connection/QueryMessage;
0 10 3 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
0 10 4 metadata Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;
1 10 5 isExplainEvent Z
3 9 6 command Lorg/bson/BsonDocument;
MethodParameters:
Name Flags
connection final
message final
bsonOutput final
metadata final
private java.lang.String getCommandName(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
ldc "explain"
goto 2
StackMap locals:
StackMap stack:
1: ldc "find"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 3 1 isExplainEvent Z
MethodParameters:
Name Flags
isExplainEvent final
private void sendQuerySucceededEvent(com.mongodb.connection.ConnectionDescription, long, com.mongodb.internal.connection.QueryMessage, boolean, com.mongodb.internal.connection.ResponseBuffers, com.mongodb.connection.QueryResult<T>);
descriptor: (Lcom/mongodb/connection/ConnectionDescription;JLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 5
1: aload 0
aload 6
aload 7
iload 5
invokevirtual com.mongodb.internal.connection.QueryProtocol.asFindCommandResponseDocument:(Lcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult;Z)Lorg/bson/BsonDocument;
astore 8
start local 8 2: aload 4
aload 0
iload 5
invokevirtual com.mongodb.internal.connection.QueryProtocol.getCommandName:(Z)Ljava/lang/String;
aload 8
aload 1
3: invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.commandListener:Lcom/mongodb/event/CommandListener;
4: invokestatic com.mongodb.internal.connection.ProtocolHelper.sendCommandSucceededEvent:(Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;Lorg/bson/BsonDocument;Lcom/mongodb/connection/ConnectionDescription;JLcom/mongodb/event/CommandListener;)V
end local 8 5: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 6 1 connectionDescription Lcom/mongodb/connection/ConnectionDescription;
0 6 2 startTimeNanos J
0 6 4 message Lcom/mongodb/internal/connection/QueryMessage;
0 6 5 isExplainEvent Z
0 6 6 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
0 6 7 queryResult Lcom/mongodb/connection/QueryResult<TT;>;
2 5 8 response Lorg/bson/BsonDocument;
Signature: (Lcom/mongodb/connection/ConnectionDescription;JLcom/mongodb/internal/connection/QueryMessage;ZLcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult<TT;>;)V
MethodParameters:
Name Flags
connectionDescription final
startTimeNanos final
message final
isExplainEvent final
responseBuffers final
queryResult final
private com.mongodb.internal.connection.QueryMessage createQueryMessage(com.mongodb.connection.ConnectionDescription);
descriptor: (Lcom/mongodb/connection/ConnectionDescription;)Lcom/mongodb/internal/connection/QueryMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: new com.mongodb.internal.connection.QueryMessage
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getFullName:()Ljava/lang/String;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.skip:I
aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.getNumberToReturn:()I
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.queryDocument:Lorg/bson/BsonDocument;
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.fields:Lorg/bson/BsonDocument;
1: aload 1
invokestatic com.mongodb.internal.connection.ProtocolHelper.getMessageSettings:(Lcom/mongodb/connection/ConnectionDescription;)Lcom/mongodb/internal/connection/MessageSettings;
2: invokespecial com.mongodb.internal.connection.QueryMessage.<init>:(Ljava/lang/String;IILorg/bson/BsonDocument;Lorg/bson/BsonDocument;Lcom/mongodb/internal/connection/MessageSettings;)V
3: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isTailableCursor:()Z
invokevirtual com.mongodb.internal.connection.QueryMessage.tailableCursor:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
4: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isSlaveOk:()Z
invokevirtual com.mongodb.internal.connection.BaseQueryMessage.slaveOk:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
5: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isOplogReplay:()Z
invokevirtual com.mongodb.internal.connection.BaseQueryMessage.oplogReplay:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
6: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isNoCursorTimeout:()Z
invokevirtual com.mongodb.internal.connection.BaseQueryMessage.noCursorTimeout:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
7: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isAwaitData:()Z
invokevirtual com.mongodb.internal.connection.BaseQueryMessage.awaitData:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
8: aload 0
invokevirtual com.mongodb.internal.connection.QueryProtocol.isPartial:()Z
invokevirtual com.mongodb.internal.connection.BaseQueryMessage.partial:(Z)Lcom/mongodb/internal/connection/BaseQueryMessage;
9: checkcast com.mongodb.internal.connection.QueryMessage
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 10 1 connectionDescription Lcom/mongodb/connection/ConnectionDescription;
MethodParameters:
Name Flags
connectionDescription final
private int getNumberToReturn();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.withLimitAndBatchSize:Z
ifeq 10
1: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ifge 3
2: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ifne 5
4: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
ifne 7
6: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
invokestatic java.lang.Math.abs:(I)I
if_icmpge 9
8: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.numberToReturn:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
private org.bson.BsonDocument asFindCommandDocument(com.mongodb.connection.ByteBufferBsonOutput, int);
descriptor: (Lcom/mongodb/connection/ByteBufferBsonOutput;I)Lorg/bson/BsonDocument;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new org.bson.BsonDocument
dup
ldc "find"
new org.bson.BsonString
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getCollectionName:()Ljava/lang/String;
invokespecial org.bson.BsonString.<init>:(Ljava/lang/String;)V
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 1
iload 2
invokestatic com.mongodb.internal.connection.ByteBufBsonDocument.createList:(Lcom/mongodb/connection/ByteBufferBsonOutput;I)Ljava/util/List;
astore 5
start local 5 3: aload 5
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.mongodb.internal.connection.ByteBufBsonDocument
astore 6
start local 6 4: aload 6
invokevirtual com.mongodb.internal.connection.ByteBufBsonDocument.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 12
StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.connection.ByteBufferBsonOutput int org.bson.BsonDocument int java.util.List com.mongodb.internal.connection.ByteBufBsonDocument top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 6: getstatic com.mongodb.internal.connection.QueryProtocol.META_OPERATOR_TO_COMMAND_FIELD_MAP:Ljava/util/Map;
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 7: aload 9
ifnull 10
8: aload 3
aload 9
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.bson.BsonValue
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
9: goto 12
StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.connection.ByteBufferBsonOutput int org.bson.BsonDocument int java.util.List com.mongodb.internal.connection.ByteBufBsonDocument java.util.Map$Entry java.util.Iterator java.lang.String
StackMap stack:
10: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
ldc "$explain"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_1
istore 4
end local 9 end local 7 12: StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.connection.ByteBufferBsonOutput int org.bson.BsonDocument int java.util.List com.mongodb.internal.connection.ByteBufBsonDocument top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 3
invokevirtual org.bson.BsonDocument.size:()I
iconst_1
if_icmpne 15
14: aload 3
ldc "filter"
aload 6
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
15: StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.connection.ByteBufferBsonOutput int org.bson.BsonDocument int java.util.List com.mongodb.internal.connection.ByteBufBsonDocument
StackMap stack:
aload 5
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 17
16: aload 3
ldc "projection"
aload 5
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.bson.BsonValue
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
17: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.skip:I
ifeq 19
18: aload 3
ldc "skip"
new org.bson.BsonInt32
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.skip:I
invokespecial org.bson.BsonInt32.<init>:(I)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.withLimitAndBatchSize:Z
ifeq 24
20: aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
ifeq 22
21: aload 3
ldc "limit"
new org.bson.BsonInt32
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.limit:I
invokespecial org.bson.BsonInt32.<init>:(I)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
22: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
ifeq 24
23: aload 3
ldc "batchSize"
new org.bson.BsonInt32
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.batchSize:I
invokespecial org.bson.BsonInt32.<init>:(I)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
24: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.tailableCursor:Z
ifeq 26
25: aload 3
ldc "tailable"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.tailableCursor:Z
invokestatic org.bson.BsonBoolean.valueOf:(Z)Lorg/bson/BsonBoolean;
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
26: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.noCursorTimeout:Z
ifeq 28
27: aload 3
ldc "noCursorTimeout"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.noCursorTimeout:Z
invokestatic org.bson.BsonBoolean.valueOf:(Z)Lorg/bson/BsonBoolean;
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
28: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.oplogReplay:Z
ifeq 30
29: aload 3
ldc "oplogReplay"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.oplogReplay:Z
invokestatic org.bson.BsonBoolean.valueOf:(Z)Lorg/bson/BsonBoolean;
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
30: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.awaitData:Z
ifeq 32
31: aload 3
ldc "awaitData"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.awaitData:Z
invokestatic org.bson.BsonBoolean.valueOf:(Z)Lorg/bson/BsonBoolean;
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
32: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.partial:Z
ifeq 34
33: aload 3
ldc "allowPartialResults"
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.partial:Z
invokestatic org.bson.BsonBoolean.valueOf:(Z)Lorg/bson/BsonBoolean;
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
pop
34: StackMap locals:
StackMap stack:
iload 4
ifeq 36
35: new org.bson.BsonDocument
dup
ldc "explain"
aload 3
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
astore 3
36: StackMap locals:
StackMap stack:
aload 3
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 37 1 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
0 37 2 firstDocumentPosition I
1 37 3 command Lorg/bson/BsonDocument;
2 37 4 isExplain Z
3 37 5 documents Ljava/util/List<Lcom/mongodb/internal/connection/ByteBufBsonDocument;>;
4 37 6 rawQueryDocument Lcom/mongodb/internal/connection/ByteBufBsonDocument;
6 12 7 cur Ljava/util/Map$Entry<Ljava/lang/String;Lorg/bson/BsonValue;>;
7 12 9 commandFieldName Ljava/lang/String;
MethodParameters:
Name Flags
bsonOutput final
firstDocumentPosition final
private org.bson.BsonDocument asFindCommandResponseDocument(com.mongodb.internal.connection.ResponseBuffers, com.mongodb.connection.QueryResult<T>, boolean);
descriptor: (Lcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult;Z)Lorg/bson/BsonDocument;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 4
start local 4 1: aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.getNumberReturned:()I
ifle 4
2: aload 1
invokevirtual com.mongodb.internal.connection.ResponseBuffers.reset:()V
3: aload 1
invokestatic com.mongodb.internal.connection.ByteBufBsonDocument.createList:(Lcom/mongodb/internal/connection/ResponseBuffers;)Ljava/util/List;
astore 4
4: StackMap locals: java.util.List
StackMap stack:
iload 3
ifeq 8
5: new org.bson.BsonDocument
dup
ldc "ok"
new org.bson.BsonDouble
dup
dconst_1
invokespecial org.bson.BsonDouble.<init>:(D)V
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
astore 5
start local 5 6: aload 5
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
invokevirtual org.bson.BsonDocument.putAll:(Ljava/util/Map;)V
7: aload 5
areturn
end local 5 8: StackMap locals:
StackMap stack:
new org.bson.BsonDocument
dup
ldc "id"
9: aload 2
invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
ifnonnull 11
10: new org.bson.BsonInt64
dup
lconst_0
invokespecial org.bson.BsonInt64.<init>:(J)V
goto 12
StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.internal.connection.ResponseBuffers com.mongodb.connection.QueryResult int java.util.List
StackMap stack: new 8 new 8 java.lang.String
11: new org.bson.BsonInt64
dup
aload 2
invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
invokevirtual com.mongodb.ServerCursor.getId:()J
invokespecial org.bson.BsonInt64.<init>:(J)V
12: StackMap locals: com.mongodb.internal.connection.QueryProtocol com.mongodb.internal.connection.ResponseBuffers com.mongodb.connection.QueryResult int java.util.List
StackMap stack: new 8 new 8 java.lang.String org.bson.BsonInt64
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
13: ldc "ns"
new org.bson.BsonString
dup
aload 0
getfield com.mongodb.internal.connection.QueryProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getFullName:()Ljava/lang/String;
invokespecial org.bson.BsonString.<init>:(Ljava/lang/String;)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
14: ldc "firstBatch"
new org.bson.BsonArray
dup
aload 4
invokespecial org.bson.BsonArray.<init>:(Ljava/util/List;)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
15: astore 5
start local 5 16: new org.bson.BsonDocument
dup
ldc "cursor"
aload 5
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
17: ldc "ok"
new org.bson.BsonDouble
dup
dconst_1
invokespecial org.bson.BsonDouble.<init>:(D)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
18: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/mongodb/internal/connection/QueryProtocol<TT;>;
0 19 1 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
0 19 2 queryResult Lcom/mongodb/connection/QueryResult<TT;>;
0 19 3 isExplain Z
1 19 4 rawResultDocuments Ljava/util/List<Lcom/mongodb/internal/connection/ByteBufBsonDocument;>;
6 8 5 explainCommandResponseDocument Lorg/bson/BsonDocument;
16 19 5 cursorDocument Lorg/bson/BsonDocument;
Signature: (Lcom/mongodb/internal/connection/ResponseBuffers;Lcom/mongodb/connection/QueryResult<TT;>;Z)Lorg/bson/BsonDocument;
MethodParameters:
Name Flags
responseBuffers final
queryResult final
isExplain final
public java.lang.Object execute(com.mongodb.internal.connection.InternalConnection);
descriptor: (Lcom/mongodb/internal/connection/InternalConnection;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.mongodb.internal.connection.QueryProtocol.execute:(Lcom/mongodb/internal/connection/InternalConnection;)Lcom/mongodb/connection/QueryResult;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lcom/mongodb/internal/connection/LegacyProtocol<Lcom/mongodb/connection/QueryResult<TT;>;>;
SourceFile: "QueryProtocol.java"
NestMembers:
com.mongodb.internal.connection.QueryProtocol$QueryResultCallback
InnerClasses:
QueryResultCallback = com.mongodb.internal.connection.QueryProtocol$QueryResultCallback of com.mongodb.internal.connection.QueryProtocol
EncodingMetadata = com.mongodb.internal.connection.RequestMessage$EncodingMetadata of com.mongodb.internal.connection.RequestMessage
public abstract Entry = java.util.Map$Entry of java.util.Map