public static void openToEmptyBlock(HTTPUtilResponse that, DataOutputBlobWriter<?> outputStream) { DataOutputBlobWriter.openFieldAtPosition(outputStream, that.block1HeaderBlobPosition); }
public static <T extends MessageSchema<T>> DataOutputBlobWriter<T> openField(final DataOutputBlobWriter<T> writer) { return openFieldAtPosition(writer, Pipe.getWorkingBlobHeadPosition(writer.backingPipe)); }
public static <T extends MessageSchema<T>> DataOutputBlobWriter<T> openField(final DataOutputBlobWriter<T> writer) { return openFieldAtPosition(writer, Pipe.getWorkingBlobHeadPosition(writer.backingPipe)); }
public static <T extends MessageSchema<T>> DataOutputBlobWriter<T> openField(final DataOutputBlobWriter<T> writer) { return openFieldAtPosition(writer, Pipe.getWorkingBlobHeadPosition(writer.backingPipe)); }
private void writeChunkPrefix(NetResponseWriter outputStream, int headerBlobPosition, long positionOfLen, int len) { //logger.trace("writing chunk at position {} ", headerBlobPosition); DataOutputBlobWriter.openFieldAtPosition(outputStream, headerBlobPosition); //since block has return on the end we must subtract 2 from what we wrote final int adj = 2+(5*(1&(context>>ServerCoordinator.END_RESPONSE_SHIFT))); Appendables.appendHexDigitsRaw(outputStream, len-adj); outputStream.write(RETURN_NEWLINE); int propperLength = DataOutputBlobWriter.length(outputStream); Pipe.validateVarLength(outputStream.getPipe(), propperLength); Pipe.setIntValue(propperLength, outputStream.getPipe(), positionOfLen); //go back and set the right length. outputStream.getPipe().closeBlobFieldWrite(); }
private static void writeHeader(NetResponseWriter outputStream, final int headerBlobPosition, final long positionOfLen, int statusCode, final int context, HTTPContentType contentType, int length, boolean chunked) { //logger.info("writing head at position {} ", headerBlobPosition); DataOutputBlobWriter.openFieldAtPosition(outputStream, headerBlobPosition); byte[] revisionBytes = HTTPRevisionDefaults.HTTP_1_1.getBytes(); byte[] etagBytes = null;//TODO: nice feature to add later int connectionIsClosed = 1&(context>>ServerCoordinator.CLOSE_CONNECTION_SHIFT); byte[] typeBytes = null!=contentType?contentType.getBytes():null; HTTPUtil.writeHeader(revisionBytes, statusCode, 0, etagBytes, typeBytes, length, chunked, true, outputStream, connectionIsClosed, w -> w.write(HTTPHeaderDefaults.DATE, outputStream.headerDate) ); int propperLength = DataOutputBlobWriter.length(outputStream); Pipe.validateVarLength(outputStream.getPipe(), propperLength); Pipe.setIntValue(propperLength, outputStream.getPipe(), positionOfLen); //go back and set the right length. outputStream.getPipe().closeBlobFieldWrite(); }
that.block1HeaderBlobPosition = Pipe.getWorkingBlobHeadPosition(pipe); DataOutputBlobWriter.openFieldAtPosition(outputStream, that.block1HeaderBlobPosition); //no context, that will come in the second message