@Override protected void reset() { super.reset(); bsonOutput.truncateToPosition(mark.position); } }
private static boolean writeDocument(final BsonWriter writer, final BsonOutput bsonOutput, final MessageSettings settings, final BsonDocument document, final int messageStartPosition, final int batchItemCount) { int currentPosition = bsonOutput.getPosition(); getCodec(document).encode(writer, document, ENCODER_CONTEXT); int messageSize = bsonOutput.getPosition() - messageStartPosition; int documentSize = bsonOutput.getPosition() - currentPosition; if (exceedsLimits(settings, messageSize, documentSize, batchItemCount)) { bsonOutput.truncateToPosition(currentPosition); return false; } return true; }
bsonOutput.truncateToPosition(bsonOutput.getPosition() - 1); setContext(new Context(getContext(), BsonContextType.DOCUMENT, pipedDocumentStartPosition)); setState(State.NAME);
private static boolean writeDocument(final BsonWriter writer, final BsonOutput bsonOutput, final MessageSettings settings, final BsonDocument document, final int messageStartPosition, final int batchItemCount) { int currentPosition = bsonOutput.getPosition(); getCodec(document).encode(writer, document, ENCODER_CONTEXT); int messageSize = bsonOutput.getPosition() - messageStartPosition; int documentSize = bsonOutput.getPosition() - currentPosition; if (exceedsLimits(settings, messageSize, documentSize, batchItemCount)) { bsonOutput.truncateToPosition(currentPosition); return false; } return true; }