private void writeCurrentName() { if (getContext().getContextType() == BsonContextType.ARRAY) { bsonOutput.writeCString(Integer.toString(getContext().index++)); } else { bsonOutput.writeCString(getName()); } }
private void writeInsertPrologue(final BsonOutput outputStream) { outputStream.writeInt32(0); // flags outputStream.writeCString(getCollectionName()); } }
@Override public void doWriteRegularExpression(final BsonRegularExpression value) { bsonOutput.writeByte(BsonType.REGULAR_EXPRESSION.getValue()); writeCurrentName(); bsonOutput.writeCString(value.getPattern()); bsonOutput.writeCString(value.getOptions()); }
private void writeGetMore(final BsonOutput buffer) { buffer.writeInt32(0); buffer.writeCString(getCollectionName()); buffer.writeInt32(numberToReturn); buffer.writeInt64(cursorId); }
/** * Write the query prologue to the given BSON output. * * @param bsonOutput the BSON output */ protected void writeQueryPrologue(final BsonOutput bsonOutput) { bsonOutput.writeInt32(getCursorFlag()); bsonOutput.writeCString(getCollectionName()); bsonOutput.writeInt32(skip); bsonOutput.writeInt32(numberToReturn); } }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput bsonOutput) { bsonOutput.writeInt32(0); // reserved bsonOutput.writeCString(getCollectionName()); if (deleteRequest.isMulti()) { bsonOutput.writeInt32(0); } else { bsonOutput.writeInt32(1); } int firstDocumentStartPosition = bsonOutput.getPosition(); addDocument(deleteRequest.getFilter(), bsonOutput, new NoOpFieldNameValidator()); return new EncodingMetadata(firstDocumentStartPosition); } }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput bsonOutput) { bsonOutput.writeInt32(0); // reserved bsonOutput.writeCString(getCollectionName()); int flags = 0; if (updateRequest.isUpsert()) { flags |= 1; } if (updateRequest.isMulti()) { flags |= 2; } bsonOutput.writeInt32(flags); int firstDocumentStartPosition = bsonOutput.getPosition(); addDocument(updateRequest.getFilter(), bsonOutput, new NoOpFieldNameValidator()); if (updateRequest.getType() == REPLACE) { addDocument(updateRequest.getUpdate(), bsonOutput, new CollectibleDocumentFieldNameValidator()); } else { int bufferPosition = bsonOutput.getPosition(); addDocument(updateRequest.getUpdate(), bsonOutput, new UpdateFieldNameValidator()); if (bsonOutput.getPosition() == bufferPosition + 5) { throw new IllegalArgumentException("Invalid BSON document for an update"); } } return new EncodingMetadata(firstDocumentStartPosition); }
int payloadBsonOutputStartPosition = bsonOutput.getPosition(); bsonOutput.writeInt32(0); // size bsonOutput.writeCString(payload.getPayloadName()); writePayload(new BsonBinaryWriter(bsonOutput, payloadFieldNameValidator), bsonOutput, getSettings(), messageStartPosition, payload); } else { bsonOutput.writeInt32(getOpQueryFlagBits()); bsonOutput.writeCString(namespace.getFullName()); bsonOutput.writeInt32(0); bsonOutput.writeInt32(-1);
private void writeInsertPrologue(final BsonOutput outputStream) { outputStream.writeInt32(0); // flags outputStream.writeCString(getCollectionName()); } }
private void writeGetMore(final BsonOutput buffer) { buffer.writeInt32(0); buffer.writeCString(getCollectionName()); buffer.writeInt32(numberToReturn); buffer.writeInt64(cursorId); }
/** * Write the query prologue to the given BSON output. * * @param bsonOutput the BSON output */ protected void writeQueryPrologue(final BsonOutput bsonOutput) { bsonOutput.writeInt32(getCursorFlag()); bsonOutput.writeCString(getCollectionName()); bsonOutput.writeInt32(skip); bsonOutput.writeInt32(numberToReturn); } }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput bsonOutput) { bsonOutput.writeInt32(0); // reserved bsonOutput.writeCString(getCollectionName()); if (deleteRequest.isMulti()) { bsonOutput.writeInt32(0); } else { bsonOutput.writeInt32(1); } int firstDocumentStartPosition = bsonOutput.getPosition(); addDocument(deleteRequest.getFilter(), bsonOutput, new NoOpFieldNameValidator()); return new EncodingMetadata(firstDocumentStartPosition); } }
@Override protected EncodingMetadata encodeMessageBodyWithMetadata(final BsonOutput bsonOutput) { bsonOutput.writeInt32(0); // reserved bsonOutput.writeCString(getCollectionName()); int flags = 0; if (updateRequest.isUpsert()) { flags |= 1; } if (updateRequest.isMulti()) { flags |= 2; } bsonOutput.writeInt32(flags); int firstDocumentStartPosition = bsonOutput.getPosition(); addDocument(updateRequest.getFilter(), bsonOutput, new NoOpFieldNameValidator()); if (updateRequest.getType() == REPLACE) { addDocument(updateRequest.getUpdate(), bsonOutput, new CollectibleDocumentFieldNameValidator()); } else { int bufferPosition = bsonOutput.getPosition(); addDocument(updateRequest.getUpdate(), bsonOutput, new UpdateFieldNameValidator()); if (bsonOutput.getPosition() == bufferPosition + 5) { throw new IllegalArgumentException("Invalid BSON document for an update"); } } return new EncodingMetadata(firstDocumentStartPosition); }
int payloadBsonOutputStartPosition = bsonOutput.getPosition(); bsonOutput.writeInt32(0); // size bsonOutput.writeCString(payload.getPayloadName()); writePayload(new BsonBinaryWriter(bsonOutput, payloadFieldNameValidator), bsonOutput, getSettings(), messageStartPosition, payload); } else { bsonOutput.writeInt32(getOpQueryFlagBits()); bsonOutput.writeCString(namespace.getFullName()); bsonOutput.writeInt32(0); bsonOutput.writeInt32(-1);