class com.mongodb.internal.connection.GetMoreProtocol<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.GetMoreProtocol
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 COMMAND_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "getMore"
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 final long cursorId;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int numberToReturn;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.mongodb.event.CommandListener commandListener;
descriptor: Lcom/mongodb/event/CommandListener;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "protocol.getmore"
invokestatic com.mongodb.diagnostics.logging.Loggers.getLogger:(Ljava/lang/String;)Lcom/mongodb/diagnostics/logging/Logger;
putstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.mongodb.MongoNamespace, long, int, org.bson.codecs.Decoder<T>);
descriptor: (Lcom/mongodb/MongoNamespace;JILorg/bson/codecs/Decoder;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
2: aload 0
lload 2
putfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
3: aload 0
iload 4
putfield com.mongodb.internal.connection.GetMoreProtocol.numberToReturn:I
4: aload 0
aload 5
putfield com.mongodb.internal.connection.GetMoreProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
5: return
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/GetMoreProtocol<TT;>;
0 6 1 namespace Lcom/mongodb/MongoNamespace;
0 6 2 cursorId J
0 6 4 numberToReturn I
0 6 5 resultDecoder Lorg/bson/codecs/Decoder<TT;>;
Signature: (Lcom/mongodb/MongoNamespace;JILorg/bson/codecs/Decoder<TT;>;)V
MethodParameters:
Name Flags
namespace final
cursorId final
numberToReturn final
resultDecoder 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=9, args_size=2
start local 0 start local 1 0: getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
ifeq 5
1: getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Getting more documents from namespace %s with cursor %d on connection [%s] to server %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
2: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
aastore
dup
iconst_1
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_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_3
3: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
aastore
4: 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
5: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 2
start local 2 6: new com.mongodb.internal.connection.GetMoreMessage
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getFullName:()Ljava/lang/String;
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.numberToReturn:I
invokespecial com.mongodb.internal.connection.GetMoreMessage.<init>:(Ljava/lang/String;JI)V
astore 4
start local 4 7: aconst_null
astore 5
start local 5 8: aload 0
aload 4
aload 1
invokevirtual com.mongodb.internal.connection.GetMoreProtocol.sendMessage:(Lcom/mongodb/internal/connection/GetMoreMessage;Lcom/mongodb/internal/connection/InternalConnection;)V
9: aload 1
aload 4
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
invokeinterface com.mongodb.internal.connection.InternalConnection.receiveMessage:(I)Lcom/mongodb/internal/connection/ResponseBuffers;
astore 6
start local 6 10: aload 6
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.isCursorNotFound:()Z
ifeq 12
11: new com.mongodb.MongoCursorNotFoundException
dup
aload 4
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getCursorId:()J
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
invokespecial com.mongodb.MongoCursorNotFoundException.<init>:(JLcom/mongodb/ServerAddress;)V
athrow
12: StackMap locals: com.mongodb.internal.connection.GetMoreProtocol com.mongodb.internal.connection.InternalConnection long com.mongodb.internal.connection.GetMoreMessage com.mongodb.connection.QueryResult com.mongodb.internal.connection.ResponseBuffers
StackMap stack:
aload 6
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.isQueryFailure:()Z
ifeq 19
13: new com.mongodb.internal.connection.ReplyMessage
dup
aload 6
new org.bson.codecs.BsonDocumentCodec
dup
invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
14: aload 4
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
i2l
15: invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
16: 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
17: astore 7
start local 7 18: aload 7
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 7 19: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.ReplyMessage
dup
aload 6
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
aload 4
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
i2l
invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
astore 7
start local 7 20: new com.mongodb.connection.QueryResult
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
aload 7
invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
21: aload 7
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;
22: invokespecial com.mongodb.connection.QueryResult.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;JLcom/mongodb/ServerAddress;)V
astore 5
23: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 32
24: aload 4
ldc "getMore"
25: aload 0
aload 5
aload 6
invokevirtual com.mongodb.internal.connection.GetMoreProtocol.asGetMoreCommandResponseDocument:(Lcom/mongodb/connection/QueryResult;Lcom/mongodb/internal/connection/ResponseBuffers;)Lorg/bson/BsonDocument;
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
26: invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
27: 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 7 28: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 8
30: aload 6
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
31: aload 8
athrow
32: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
33: getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Get-more completed"
invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;)V
34: aload 5
35: areturn
end local 6 36: StackMap locals: com.mongodb.internal.connection.GetMoreProtocol com.mongodb.internal.connection.InternalConnection long com.mongodb.internal.connection.GetMoreMessage com.mongodb.connection.QueryResult
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 37: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 41
38: aload 4
ldc "getMore"
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
aload 6
39: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
40: 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
41: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 6
athrow
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 42 0 this Lcom/mongodb/internal/connection/GetMoreProtocol<TT;>;
0 42 1 connection Lcom/mongodb/internal/connection/InternalConnection;
6 42 2 startTimeNanos J
7 42 4 message Lcom/mongodb/internal/connection/GetMoreMessage;
8 42 5 result Lcom/mongodb/connection/QueryResult<TT;>;
10 36 6 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
18 19 7 errorDocument Lorg/bson/BsonDocument;
20 28 7 replyMessage Lcom/mongodb/internal/connection/ReplyMessage<TT;>;
37 42 6 e Ljava/lang/RuntimeException;
Exception table:
from to target type
10 29 29 any
8 35 36 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=9, 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: new com.mongodb.internal.connection.GetMoreMessage
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getFullName:()Ljava/lang/String;
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.numberToReturn:I
invokespecial com.mongodb.internal.connection.GetMoreMessage.<init>:(Ljava/lang/String;JI)V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
ifeq 8
4: getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Asynchronously getting more documents from namespace %s with cursor %d on connection [%s] to server %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
5: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
aastore
dup
iconst_1
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_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_3
6: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
aastore
7: 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
8: StackMap locals: long com.mongodb.internal.connection.GetMoreMessage int
StackMap stack:
new com.mongodb.connection.ByteBufferBsonOutput
dup
aload 1
invokespecial com.mongodb.connection.ByteBufferBsonOutput.<init>:(Lcom/mongodb/connection/BufferProvider;)V
astore 7
start local 7 9: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 14
10: aload 5
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getDatabaseName:()Ljava/lang/String;
ldc "getMore"
aload 0
invokevirtual com.mongodb.internal.connection.GetMoreProtocol.asGetMoreCommandDocument:()Lorg/bson/BsonDocument;
11: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
12: 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
13: iconst_1
istore 6
14: StackMap locals: com.mongodb.connection.ByteBufferBsonOutput
StackMap stack:
aload 5
aload 7
invokestatic com.mongodb.internal.connection.ProtocolHelper.encodeMessage:(Lcom/mongodb/internal/connection/RequestMessage;Lorg/bson/io/BsonOutput;)V
15: new com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback
dup
aload 0
aload 2
16: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
17: aload 5
18: aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
19: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
lload 3
20: invokespecial com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.<init>:(Lcom/mongodb/internal/connection/GetMoreProtocol;Lcom/mongodb/async/SingleResultCallback;JLcom/mongodb/internal/connection/GetMoreMessage;Lcom/mongodb/connection/ConnectionDescription;Lcom/mongodb/event/CommandListener;J)V
astore 8
start local 8 21: aload 1
aload 7
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.getByteBuffers:()Ljava/util/List;
aload 5
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
22: new com.mongodb.internal.connection.SendMessageCallback
dup
aload 1
aload 7
aload 5
ldc "getMore"
23: lload 3
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
aload 2
aload 8
24: 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
25: invokeinterface com.mongodb.internal.connection.InternalConnection.sendMessageAsync:(Ljava/util/List;ILcom/mongodb/async/SingleResultCallback;)V
end local 8 end local 7 26: goto 33
StackMap locals: com.mongodb.internal.connection.GetMoreProtocol com.mongodb.internal.connection.InternalConnection com.mongodb.async.SingleResultCallback long com.mongodb.internal.connection.GetMoreMessage int
StackMap stack: java.lang.Throwable
27: astore 7
start local 7 28: iload 6
ifeq 32
29: aload 5
ldc "getMore"
aload 1
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokestatic java.lang.System.nanoTime:()J
lload 3
lsub
aload 7
30: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
31: 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
32: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
aconst_null
aload 7
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 33: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/mongodb/internal/connection/GetMoreProtocol<TT;>;
0 34 1 connection Lcom/mongodb/internal/connection/InternalConnection;
0 34 2 callback Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;
1 34 3 startTimeNanos J
2 34 5 message Lcom/mongodb/internal/connection/GetMoreMessage;
3 34 6 sentStartedEvent Z
9 26 7 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
21 26 8 receiveCallback Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/internal/connection/ResponseBuffers;>;
28 33 7 t Ljava/lang/Throwable;
Exception table:
from to target type
3 26 27 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
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.GetMoreProtocol.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/GetMoreProtocol<TT;>;
0 2 1 commandListener Lcom/mongodb/event/CommandListener;
MethodParameters:
Name Flags
commandListener final
private void sendMessage(com.mongodb.internal.connection.GetMoreMessage, com.mongodb.internal.connection.InternalConnection);
descriptor: (Lcom/mongodb/internal/connection/GetMoreMessage;Lcom/mongodb/internal/connection/InternalConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new com.mongodb.connection.ByteBufferBsonOutput
dup
aload 2
invokespecial com.mongodb.connection.ByteBufferBsonOutput.<init>:(Lcom/mongodb/connection/BufferProvider;)V
astore 3
start local 3 1: aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
ifnull 5
2: aload 1
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getDatabaseName:()Ljava/lang/String;
ldc "getMore"
aload 0
invokevirtual com.mongodb.internal.connection.GetMoreProtocol.asGetMoreCommandDocument:()Lorg/bson/BsonDocument;
3: aload 2
invokeinterface com.mongodb.internal.connection.InternalConnection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.commandListener:Lcom/mongodb/event/CommandListener;
4: 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
5: StackMap locals: com.mongodb.connection.ByteBufferBsonOutput
StackMap stack:
aload 1
aload 3
getstatic com.mongodb.internal.connection.NoOpSessionContext.INSTANCE:Lcom/mongodb/internal/connection/NoOpSessionContext;
invokevirtual com.mongodb.internal.connection.GetMoreMessage.encode:(Lorg/bson/io/BsonOutput;Lcom/mongodb/session/SessionContext;)V
6: aload 2
aload 3
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.getByteBuffers:()Ljava/util/List;
aload 1
invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
invokeinterface com.mongodb.internal.connection.InternalConnection.sendMessage:(Ljava/util/List;I)V
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 4
9: aload 3
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.close:()V
10: aload 4
athrow
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.mongodb.connection.ByteBufferBsonOutput.close:()V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mongodb/internal/connection/GetMoreProtocol<TT;>;
0 13 1 message Lcom/mongodb/internal/connection/GetMoreMessage;
0 13 2 connection Lcom/mongodb/internal/connection/InternalConnection;
1 13 3 bsonOutput Lcom/mongodb/connection/ByteBufferBsonOutput;
Exception table:
from to target type
1 8 8 any
MethodParameters:
Name Flags
message final
connection final
private org.bson.BsonDocument asGetMoreCommandDocument();
descriptor: ()Lorg/bson/BsonDocument;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: new org.bson.BsonDocument
dup
ldc "getMore"
new org.bson.BsonInt64
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.cursorId:J
invokespecial org.bson.BsonInt64.<init>:(J)V
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
1: ldc "collection"
new org.bson.BsonString
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getCollectionName:()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;
2: ldc "batchSize"
new org.bson.BsonInt32
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.numberToReturn:I
invokespecial org.bson.BsonInt32.<init>:(I)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/internal/connection/GetMoreProtocol<TT;>;
private org.bson.BsonDocument asGetMoreCommandResponseDocument(com.mongodb.connection.QueryResult<T>, com.mongodb.internal.connection.ResponseBuffers);
descriptor: (Lcom/mongodb/connection/QueryResult;Lcom/mongodb/internal/connection/ResponseBuffers;)Lorg/bson/BsonDocument;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 3
start local 3 1: aload 2
invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
invokevirtual com.mongodb.internal.connection.ReplyHeader.getNumberReturned:()I
ifeq 4
2: aload 2
invokevirtual com.mongodb.internal.connection.ResponseBuffers.reset:()V
3: aload 2
invokestatic com.mongodb.internal.connection.ByteBufBsonDocument.createList:(Lcom/mongodb/internal/connection/ResponseBuffers;)Ljava/util/List;
astore 3
4: StackMap locals: java.util.List
StackMap stack:
new org.bson.BsonDocument
dup
ldc "id"
5: aload 1
invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
ifnonnull 7
6: new org.bson.BsonInt64
dup
lconst_0
invokespecial org.bson.BsonInt64.<init>:(J)V
goto 8
StackMap locals: com.mongodb.internal.connection.GetMoreProtocol com.mongodb.connection.QueryResult com.mongodb.internal.connection.ResponseBuffers java.util.List
StackMap stack: new 4 new 4 java.lang.String
7: new org.bson.BsonInt64
dup
aload 1
invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
invokevirtual com.mongodb.ServerCursor.getId:()J
invokespecial org.bson.BsonInt64.<init>:(J)V
8: StackMap locals: com.mongodb.internal.connection.GetMoreProtocol com.mongodb.connection.QueryResult com.mongodb.internal.connection.ResponseBuffers java.util.List
StackMap stack: new 4 new 4 java.lang.String org.bson.BsonInt64
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
9: ldc "ns"
new org.bson.BsonString
dup
aload 0
getfield com.mongodb.internal.connection.GetMoreProtocol.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;
10: ldc "nextBatch"
new org.bson.BsonArray
dup
aload 3
invokespecial org.bson.BsonArray.<init>:(Ljava/util/List;)V
invokevirtual org.bson.BsonDocument.append:(Ljava/lang/String;Lorg/bson/BsonValue;)Lorg/bson/BsonDocument;
11: astore 4
start local 4 12: new org.bson.BsonDocument
dup
ldc "cursor"
aload 4
invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
13: 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;
14: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/mongodb/internal/connection/GetMoreProtocol<TT;>;
0 15 1 queryResult Lcom/mongodb/connection/QueryResult<TT;>;
0 15 2 responseBuffers Lcom/mongodb/internal/connection/ResponseBuffers;
1 15 3 rawResultDocuments Ljava/util/List<Lcom/mongodb/internal/connection/ByteBufBsonDocument;>;
12 15 4 cursorDocument Lorg/bson/BsonDocument;
Signature: (Lcom/mongodb/connection/QueryResult<TT;>;Lcom/mongodb/internal/connection/ResponseBuffers;)Lorg/bson/BsonDocument;
MethodParameters:
Name Flags
queryResult final
responseBuffers 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.GetMoreProtocol.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: "GetMoreProtocol.java"
NestMembers:
com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback
InnerClasses:
GetMoreResultCallback = com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback of com.mongodb.internal.connection.GetMoreProtocol