final class CommandMessage extends RequestMessage
RequestMessage.EncodingMetadata
Modifier and Type | Field and Description |
---|---|
private ClusterConnectionMode |
clusterConnectionMode |
private BsonDocument |
command |
private FieldNameValidator |
commandFieldNameValidator |
private MongoNamespace |
namespace |
private SplittablePayload |
payload |
private FieldNameValidator |
payloadFieldNameValidator |
private ReadPreference |
readPreference |
private boolean |
responseExpected |
MESSAGE_PROLOGUE_LENGTH, REQUEST_ID
Constructor and Description |
---|
CommandMessage(MongoNamespace namespace,
BsonDocument command,
FieldNameValidator commandFieldNameValidator,
ReadPreference readPreference,
MessageSettings settings) |
CommandMessage(MongoNamespace namespace,
BsonDocument command,
FieldNameValidator commandFieldNameValidator,
ReadPreference readPreference,
MessageSettings settings,
boolean responseExpected,
SplittablePayload payload,
FieldNameValidator payloadFieldNameValidator,
ClusterConnectionMode clusterConnectionMode) |
addCollectibleDocument, addDocument, addDocument, backpatchMessageLength, encode, getCodec, getCollectionName, getCurrentGlobalId, getEncodingMetadata, getId, getNamespace, getOpCode, getSettings, writeMessagePrologue
private final MongoNamespace namespace
private final BsonDocument command
private final FieldNameValidator commandFieldNameValidator
private final ReadPreference readPreference
private final SplittablePayload payload
private final FieldNameValidator payloadFieldNameValidator
private final boolean responseExpected
private final ClusterConnectionMode clusterConnectionMode
CommandMessage(MongoNamespace namespace, BsonDocument command, FieldNameValidator commandFieldNameValidator, ReadPreference readPreference, MessageSettings settings)
CommandMessage(MongoNamespace namespace, BsonDocument command, FieldNameValidator commandFieldNameValidator, ReadPreference readPreference, MessageSettings settings, boolean responseExpected, SplittablePayload payload, FieldNameValidator payloadFieldNameValidator, ClusterConnectionMode clusterConnectionMode)
BsonDocument getCommandDocument(ByteBufferBsonOutput bsonOutput)
boolean containsPayload()
boolean isResponseExpected()
protected RequestMessage.EncodingMetadata encodeMessageBodyWithMetadata(BsonOutput bsonOutput, SessionContext sessionContext)
RequestMessage
encodeMessageBodyWithMetadata
in class RequestMessage
bsonOutput
- the outputsessionContext
- the session contextprivate FieldNameValidator getPayloadArrayFieldNameValidator()
private void addDocumentWithPayload(BsonOutput bsonOutput, int messageStartPosition)
private int getOpMsgFlagBits()
private int getOpMsgResponseExpectedFlagBit()
private boolean requireOpMsgResponse()
private int getOpQueryFlagBits()
private int getOpQuerySlaveOkFlagBit()
private boolean isSlaveOk()
private boolean isDirectConnectionToNonShardRouter()
private boolean useOpMsg()
private BsonDocument getCommandToEncode()
private java.util.List<BsonElement> getExtraElements(SessionContext sessionContext)
private static OpCode getOpCode(MessageSettings settings)
private static boolean isServerVersionAtLeastThreeDotSix(MessageSettings settings)