abstract class WriteProtocol extends java.lang.Object implements LegacyProtocol<WriteConcernResult>
Modifier and Type | Class and Description |
---|---|
private class |
WriteProtocol.UnacknowledgedWriteResultCallback |
Modifier and Type | Field and Description |
---|---|
private CommandListener |
commandListener |
private MongoNamespace |
namespace |
private boolean |
ordered |
Constructor and Description |
---|
WriteProtocol(MongoNamespace namespace,
boolean ordered) |
Modifier and Type | Method and Description |
---|---|
protected abstract RequestMessage |
createRequestMessage(MessageSettings settings)
Create the initial request message for the write.
|
WriteConcernResult |
execute(InternalConnection connection) |
void |
executeAsync(InternalConnection connection,
SingleResultCallback<WriteConcernResult> callback) |
private void |
executeAsync(RequestMessage requestMessage,
InternalConnection connection,
SingleResultCallback<WriteConcernResult> callback) |
protected abstract BsonDocument |
getAsWriteCommand(ByteBufferBsonOutput bsonOutput,
int firstDocumentPosition) |
protected BsonDocument |
getBaseCommandDocument(java.lang.String commandName) |
protected java.lang.String |
getCommandName(RequestMessage message) |
protected abstract Logger |
getLogger()
Gets the logger.
|
protected MongoNamespace |
getNamespace()
Gets the namespace.
|
private BsonDocument |
getResponseDocument() |
protected boolean |
isOrdered()
Gets whether the writes are ordered.
|
private void |
sendFailedEvent(InternalConnection connection,
RequestMessage message,
boolean sentCommandStartedEvent,
java.lang.Throwable t,
long startTimeNanos) |
private void |
sendStartedEvent(InternalConnection connection,
RequestMessage message,
RequestMessage.EncodingMetadata encodingMetadata,
ByteBufferBsonOutput bsonOutput) |
private void |
sendSucceededEvent(InternalConnection connection,
RequestMessage message,
BsonDocument responseDocument,
long startTimeNanos) |
private void |
sendSucceededEvent(InternalConnection connection,
RequestMessage message,
long startTimeNanos) |
void |
setCommandListener(CommandListener commandListener) |
private final MongoNamespace namespace
private final boolean ordered
private CommandListener commandListener
WriteProtocol(MongoNamespace namespace, boolean ordered)
public void setCommandListener(CommandListener commandListener)
setCommandListener
in interface LegacyProtocol<WriteConcernResult>
public WriteConcernResult execute(InternalConnection connection)
execute
in interface LegacyProtocol<WriteConcernResult>
public void executeAsync(InternalConnection connection, SingleResultCallback<WriteConcernResult> callback)
executeAsync
in interface LegacyProtocol<WriteConcernResult>
private void executeAsync(RequestMessage requestMessage, InternalConnection connection, SingleResultCallback<WriteConcernResult> callback)
protected abstract BsonDocument getAsWriteCommand(ByteBufferBsonOutput bsonOutput, int firstDocumentPosition)
protected BsonDocument getBaseCommandDocument(java.lang.String commandName)
protected java.lang.String getCommandName(RequestMessage message)
private void sendStartedEvent(InternalConnection connection, RequestMessage message, RequestMessage.EncodingMetadata encodingMetadata, ByteBufferBsonOutput bsonOutput)
private void sendSucceededEvent(InternalConnection connection, RequestMessage message, long startTimeNanos)
private void sendSucceededEvent(InternalConnection connection, RequestMessage message, BsonDocument responseDocument, long startTimeNanos)
private void sendFailedEvent(InternalConnection connection, RequestMessage message, boolean sentCommandStartedEvent, java.lang.Throwable t, long startTimeNanos)
private BsonDocument getResponseDocument()
protected abstract RequestMessage createRequestMessage(MessageSettings settings)
settings
- the message settingsprotected MongoNamespace getNamespace()
protected boolean isOrdered()
protected abstract Logger getLogger()