public static int writeCapturedUTF8ToPipe(TrieParserReader reader, Pipe<?> target, int idx, int loc) { int pos = idx*4; int type = reader.capturedValues[pos++]; assert(type==0); int bpos = reader.capturedValues[pos++]; int blen = reader.capturedValues[pos++]; PipeWriter.writeBytes(target, loc, reader.capturedBlobArray, bpos, blen, reader.capturedValues[pos++]); return blen; }
/** * Writes bytes to given pipe at specified location * @param pipe to be written to * @param loc location to write to * @param source byte array used to write data * @param offset number to offset bytes * @param length length of bytes to write */ public static void writeBytes(Pipe pipe, int loc, byte[] source, int offset, int length) { assert(offset+length<=source.length) : "out of bounds"; writeBytes(pipe,loc,source,offset,length,Integer.MAX_VALUE); }
@Override public final void write(Object[] args) { if (args[0] instanceof ByteBuffer) { PipeWriter.writeBytes(pipe, fieldLoc, (ByteBuffer)args[0], args.length>1 ? ((Number)args[1]).intValue() : ((ByteBuffer)args[0]).remaining()); } else { PipeWriter.writeBytes(pipe, fieldLoc, (byte[])args[0]); } } };
@Override public final void write(Object[] args) { if (args[0] instanceof ByteBuffer) { PipeWriter.writeBytes(pipe, fieldLoc, (ByteBuffer)args[0], args.length>1 ? ((Number)args[1]).intValue() : ((ByteBuffer)args[0]).remaining()); } else { PipeWriter.writeBytes(pipe, fieldLoc, (byte[])args[0]); } } };
public static void publishChunkedStream(Pipe<RawDataSchema> output, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) { PipeWriter.presumeWriteFragment(output, MSG_CHUNKEDSTREAM_1); PipeWriter.writeBytes(output,MSG_CHUNKEDSTREAM_1_FIELD_BYTEARRAY_2, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(output); }
/** * * @param output Pipe arg used for PipeWriter.presumeWriteFragment and PipeWriter.publishWrites * @param fieldPayloadBacking byte[] arg used for PipeWriter.writeBytes * @param fieldPayloadPosition int arg used for PipeWriter.writeBytes * @param fieldPayloadLength int arg used for PipeWriter.writeBytes */ public static void publishPublish(Pipe<MessagePrivate> output, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_PUBLISH_1); PipeWriter.writeBytes(output,MSG_PUBLISH_1_FIELD_PAYLOAD_3, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); }
public static void publishChunkedStreamAndInt(Pipe<TestDataSchema> output, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength, int fieldIntValue) { PipeWriter.presumeWriteFragment(output, MSG_CHUNKEDSTREAMANDINT_60); PipeWriter.writeBytes(output,MSG_CHUNKEDSTREAMANDINT_60_FIELD_BYTEARRAY_62, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.writeInt(output,MSG_CHUNKEDSTREAMANDINT_60_FIELD_INTVALUE_61, fieldIntValue); PipeWriter.publishWrites(output); } public static void publishChunkedStreamAndLong(Pipe<TestDataSchema> output, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength, long fieldLongValue) {
public static boolean publishReadHeader(Pipe<BlockManagerResponseSchema> output, long fieldId, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { boolean result = false; if (PipeWriter.tryWriteFragment(output, MSG_READHEADER_8)) { PipeWriter.writeLong(output,MSG_READHEADER_8_FIELD_ID_11, fieldId); PipeWriter.writeBytes(output,MSG_READHEADER_8_FIELD_PAYLOAD_13, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); result = true; } return result; } public static boolean publishBlockMounted(Pipe<BlockManagerResponseSchema> output, int fieldStatus) {
public static void publishDataResponse(Pipe<BlockStorageReceiveSchema> output, long fieldPosition, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_DATARESPONSE_1); PipeWriter.writeLong(output,MSG_DATARESPONSE_1_FIELD_POSITION_12, fieldPosition); PipeWriter.writeBytes(output,MSG_DATARESPONSE_1_FIELD_PAYLOAD_11, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); } }
public static void publishWrite(Pipe<BlockStorageXmitSchema> output, long fieldPosition, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_WRITE_1); PipeWriter.writeLong(output,MSG_WRITE_1_FIELD_POSITION_12, fieldPosition); PipeWriter.writeBytes(output,MSG_WRITE_1_FIELD_PAYLOAD_11, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); } public static void publishRead(Pipe<BlockStorageXmitSchema> output, long fieldPosition, int fieldReadLength) {
public static void publishIntAndChunkedStream(Pipe<TestDataSchema> output, int fieldIntValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) { PipeWriter.presumeWriteFragment(output, MSG_INTANDCHUNKEDSTREAM_20); PipeWriter.writeInt(output,MSG_INTANDCHUNKEDSTREAM_20_FIELD_INTVALUE_21, fieldIntValue); PipeWriter.writeBytes(output,MSG_INTANDCHUNKEDSTREAM_20_FIELD_BYTEARRAY_22, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(output); } public static void publishLongAndChunkedStream(Pipe<TestDataSchema> output, long fieldLongValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) {
public static boolean publishSubWrite(Pipe<BlockManagerRequestSchema> output, long fieldId, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { boolean result = false; if (PipeWriter.tryWriteFragment(output, MSG_SUBWRITE_3)) { PipeWriter.writeLong(output,MSG_SUBWRITE_3_FIELD_ID_11, fieldId); PipeWriter.writeBytes(output,MSG_SUBWRITE_3_FIELD_PAYLOAD_12, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); result = true; } return result; } public static boolean publishSubRead(Pipe<BlockManagerRequestSchema> output, long fieldid) {
public static void publishIntAndChunkedStream(Pipe<TestDataSchema> output, int fieldIntValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) { PipeWriter.presumeWriteFragment(output, MSG_INTANDCHUNKEDSTREAM_20); PipeWriter.writeInt(output,MSG_INTANDCHUNKEDSTREAM_20_FIELD_INTVALUE_21, fieldIntValue); PipeWriter.writeBytes(output,MSG_INTANDCHUNKEDSTREAM_20_FIELD_BYTEARRAY_22, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(output); } public static void publishLongAndChunkedStream(Pipe<TestDataSchema> output, long fieldLongValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) {
public static void publishLongAndChunkedStream(Pipe<TestDataSchema> output, long fieldLongValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) { PipeWriter.presumeWriteFragment(output, MSG_LONGANDCHUNKEDSTREAM_30); PipeWriter.writeLong(output,MSG_LONGANDCHUNKEDSTREAM_30_FIELD_LONGVALUE_31, fieldLongValue); PipeWriter.writeBytes(output,MSG_LONGANDCHUNKEDSTREAM_30_FIELD_BYTEARRAY_32, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(output); }
public static void publishLongAndChunkedStream(Pipe<TestDataSchema> output, long fieldLongValue, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength) { PipeWriter.presumeWriteFragment(output, MSG_LONGANDCHUNKEDSTREAM_30); PipeWriter.writeLong(output,MSG_LONGANDCHUNKEDSTREAM_30_FIELD_LONGVALUE_31, fieldLongValue); PipeWriter.writeBytes(output,MSG_LONGANDCHUNKEDSTREAM_30_FIELD_BYTEARRAY_32, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(output); }
public static void publishChunkedStreamAndLong(Pipe<TestDataSchema> output, byte[] fieldByteArrayBacking, int fieldByteArrayPosition, int fieldByteArrayLength, long fieldLongValue) { PipeWriter.presumeWriteFragment(output, MSG_CHUNKEDSTREAMANDLONG_70); PipeWriter.writeBytes(output,MSG_CHUNKEDSTREAMANDLONG_70_FIELD_BYTEARRAY_72, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.writeLong(output,MSG_CHUNKEDSTREAMANDLONG_70_FIELD_LONGVALUE_71, fieldLongValue); PipeWriter.publishWrites(output); }
public static void publishResponse(Pipe<NetResponseSchema> output, long fieldConnectionId, int fieldSessionId, int fieldContextFlags, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_RESPONSE_101); PipeWriter.writeLong(output,MSG_RESPONSE_101_FIELD_CONNECTIONID_1, fieldConnectionId); PipeWriter.writeInt(output,MSG_RESPONSE_101_FIELD_SESSIONID_2, fieldSessionId); PipeWriter.writeInt(output,MSG_RESPONSE_101_FIELD_CONTEXTFLAGS_5, fieldContextFlags); PipeWriter.writeBytes(output,MSG_RESPONSE_101_FIELD_PAYLOAD_3, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); } public static void publishContinuation(Pipe<NetResponseSchema> output, long fieldConnectionId, int fieldSessionId, int fieldContextFlags, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) {
public static void publishToSubscription(Pipe<ServerResponseSchema> output, long fieldSubscriptionId, int fieldSequenceNo, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength, int fieldRequestContext) { PipeWriter.presumeWriteFragment(output, MSG_TOSUBSCRIPTION_200); PipeWriter.writeLong(output,MSG_TOSUBSCRIPTION_200_FIELD_SUBSCRIPTIONID_22, fieldSubscriptionId); PipeWriter.writeInt(output,MSG_TOSUBSCRIPTION_200_FIELD_SEQUENCENO_23, fieldSequenceNo); PipeWriter.writeBytes(output,MSG_TOSUBSCRIPTION_200_FIELD_PAYLOAD_25, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.writeInt(output,MSG_TOSUBSCRIPTION_200_FIELD_REQUESTCONTEXT_24, fieldRequestContext); PipeWriter.publishWrites(output); } public static void publishSkip(Pipe<ServerResponseSchema> output, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) {
public static void publishWebSocketFrame(Pipe<HTTPRequestSchema> output, long fieldChannelId, int fieldSequence, int fieldFinOpp, int fieldMask, byte[] fieldBinaryPayloadBacking, int fieldBinaryPayloadPosition, int fieldBinaryPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_WEBSOCKETFRAME_100); PipeWriter.writeLong(output,MSG_WEBSOCKETFRAME_100_FIELD_CHANNELID_21, fieldChannelId); PipeWriter.writeInt(output,MSG_WEBSOCKETFRAME_100_FIELD_SEQUENCE_26, fieldSequence); PipeWriter.writeInt(output,MSG_WEBSOCKETFRAME_100_FIELD_FINOPP_11, fieldFinOpp); PipeWriter.writeInt(output,MSG_WEBSOCKETFRAME_100_FIELD_MASK_10, fieldMask); PipeWriter.writeBytes(output,MSG_WEBSOCKETFRAME_100_FIELD_BINARYPAYLOAD_12, fieldBinaryPayloadBacking, fieldBinaryPayloadPosition, fieldBinaryPayloadLength); PipeWriter.publishWrites(output); } }
public static void publishPATCH(Pipe<ClientHTTPRequestSchema> output, int fieldSession, int fieldPort, int fieldHostId, long fieldConnectionId, int fieldDestination, CharSequence fieldPath, CharSequence fieldHeaders, byte[] fieldPayloadBacking, int fieldPayloadPosition, int fieldPayloadLength) { PipeWriter.presumeWriteFragment(output, MSG_PATCH_205); PipeWriter.writeInt(output,MSG_PATCH_205_FIELD_SESSION_10, fieldSession); PipeWriter.writeInt(output,MSG_PATCH_205_FIELD_PORT_1, fieldPort); PipeWriter.writeInt(output,MSG_PATCH_205_FIELD_HOSTID_2, fieldHostId); PipeWriter.writeLong(output,MSG_PATCH_205_FIELD_CONNECTIONID_20, fieldConnectionId); PipeWriter.writeInt(output,MSG_PATCH_205_FIELD_DESTINATION_11, fieldDestination); PipeWriter.writeUTF8(output,MSG_PATCH_205_FIELD_PATH_3, fieldPath); PipeWriter.writeUTF8(output,MSG_PATCH_205_FIELD_HEADERS_7, fieldHeaders); PipeWriter.writeBytes(output,MSG_PATCH_205_FIELD_PAYLOAD_5, fieldPayloadBacking, fieldPayloadPosition, fieldPayloadLength); PipeWriter.publishWrites(output); }