private boolean ackFinishedWrite(int idx) { if (-1 != idToWriteToFile[idx]) { //logger.info("finished write of block {} ", idToWriteToFile[idx]); SequentialRespSchema.publishWriteAck(response[idx], idToWriteToFile[idx]); idToWriteToFile[idx] = -1; return true; } return false; }
switch(msgIdx) { case MSG_SUBALLOCATED_1: consumeSubAllocated(input); break; case MSG_SUBALLOCATEDFAILURE_21: consumeSubAllocatedFailure(input); break; case MSG_SUBRELEASED_2: consumeSubReleased(input); break; case MSG_SUBWRITTEN_3: consumeSubWritten(input); break; case MSG_SUBREAD_4: consumeSubRead(input); break; case MSG_READHEADER_8: consumeReadHeader(input); break; case MSG_BLOCKMOUNTED_5: consumeBlockMounted(input); break; case MSG_BLOCKALLOCATED_6: consumeBlockAllocated(input); break; case MSG_BLOCKALLOCATEDFAILURE_26: consumeBlockAllocatedFailure(input); break; case MSG_BLOCKRELEASED_7:
switch(msgIdx) { case MSG_SUBREQUEST_1: consumeSubRequest(input); break; case MSG_SUBRELEASE_2: consumeSubRelease(input); break; case MSG_SUBWRITE_3: consumeSubWrite(input); break; case MSG_SUBREAD_4: consumeSubRead(input); break; case MSG_READHEADER_8: consumeReadHeader(input); break; case MSG_BLOCKMOUNT_5: consumeBlockMount(input); break; case MSG_BLOCKREQUEST_6: consumeBlockRequest(input); break; case MSG_BLOCKRELEASE_7: consumeBlockRelease(input); break; case -1:
PersistedBlobLoadReleaseSchema.instance.newPipe(maxInFlightCount, 0); Pipe<PersistedBlobLoadConsumerSchema> fromStoreConsumer = PersistedBlobLoadConsumerSchema.instance.newPipe(maxInFlightCount, largestBlock); Pipe<PersistedBlobLoadProducerSchema> fromStoreProducer = PersistedBlobLoadProducerSchema.instance.newPipe(maxInFlightCount, 0); Pipe<PersistedBlobStoreConsumerSchema> toStoreConsumer = PersistedBlobStoreConsumerSchema.instance.newPipe(maxInFlightCount, 0); Pipe<PersistedBlobStoreProducerSchema> toStoreProducer = PersistedBlobStoreProducerSchema.instance.newPipe(maxInFlightCount, largestBlock);
private void emptyReplayImpl(boolean encryption, boolean telemetry) { Pipe<PersistedBlobStoreProducerSchema> perStoreProducer = PersistedBlobStoreProducerSchema.instance.newPipe(10, 1000); Pipe<PersistedBlobStoreConsumerSchema> perStoreConsumer = PersistedBlobStoreConsumerSchema.instance.newPipe(10, 1000); perStoreProducer.initBuffers(); perStoreConsumer.initBuffers(); PipeWriter.presumeWriteFragment(perStoreConsumer, PersistedBlobStoreConsumerSchema.MSG_REQUESTREPLAY_6); PipeWriter.publishWrites(perStoreConsumer); PipeWriter.publishEOF(perStoreConsumer); String result = runGraph(perStoreProducer, perStoreConsumer, encryption, telemetry); assertTrue(result, result.indexOf("BeginReplay")>0); assertTrue(result, result.indexOf("FinishReplay")>0); }
private ConsoleJSONDumpStage buildGraph2(String blockFilePath, File tempFile, StringBuilder results, GraphManager gm2) { Pipe<RawDataSchema> encryptedDataPipe2 = RawDataSchema.instance.newPipe(10, 1000); Pipe<RawDataSchema> resultDataPipe2 = RawDataSchema.instance.newPipe(10, 1000); Pipe<BlockStorageReceiveSchema> doFinalInput3 = BlockStorageReceiveSchema.instance.newPipe(10, 1000); Pipe<BlockStorageXmitSchema> doFinalOutput3 = BlockStorageXmitSchema.instance.newPipe(10, 1000); BlockStorageStage.newInstance(gm2, blockFilePath, doFinalOutput3, doFinalInput3); results.setLength(0); results.append("single large message: "); FileBlobReadStage read= new FileBlobReadStage(gm2, encryptedDataPipe2, tempFile.getAbsolutePath()); RawDataCryptAESCBCPKCS5Stage decrypt2 = new RawDataCryptAESCBCPKCS5Stage(gm2, pass, false, encryptedDataPipe2, resultDataPipe2, doFinalInput3, doFinalOutput3 ); ConsoleJSONDumpStage lastStage2 = ConsoleJSONDumpStage.newInstance(gm2, resultDataPipe2, results, true); return lastStage2; }
public static void consume(Pipe<SequentialCtlSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_REPLAY_1: consumeReplay(input); break; case MSG_CLEAR_2: consumeClear(input); break; case MSG_METAREQUEST_3: consumeMetaRequest(input); break; case MSG_IDTOSAVE_4: consumeIdToSave(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<SequentialRespSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_CLEARACK_1: consumeClearAck(input); break; case MSG_METARESPONSE_2: consumeMetaResponse(input); break; case MSG_WRITEACK_3: consumeWriteAck(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<PersistedBlobStoreConsumerSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_RELEASE_7: consumeRelease(input); break; case MSG_REQUESTREPLAY_6: consumeRequestReplay(input); break; case MSG_CLEAR_12: consumeClear(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<PersistedBlobLoadConsumerSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_BLOCK_1: consumeBlock(input); break; case MSG_BEGINREPLAY_8: consumeBeginReplay(input); break; case MSG_FINISHREPLAY_9: consumeFinishReplay(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<BlockStorageReceiveSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_ERROR_3: consumeError(input); break; case MSG_WRITEACK_2: consumeWriteAck(input); break; case MSG_DATARESPONSE_1: consumeDataResponse(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<FolderWatchSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_NEWFILE_1: consumeNewFile(input); break; case MSG_UPDATEDFILE_2: consumeUpdatedFile(input); break; case MSG_DELETEDFILE_3: consumeDeletedFile(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<BlockStorageXmitSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_WRITE_1: consumeWrite(input); break; case MSG_READ_2: consumeRead(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<PersistedBlobStoreProducerSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_BLOCK_1: consumeBlock(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<PersistedBlobLoadProducerSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_ACKWRITE_11: consumeAckWrite(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
public static void consume(Pipe<PersistedBlobLoadReleaseSchema> input) { while (PipeReader.tryReadFragment(input)) { int msgIdx = PipeReader.getMsgIdx(input); switch(msgIdx) { case MSG_ACKRELEASE_10: consumeAckRelease(input); break; case -1: //requestShutdown(); break; } PipeReader.releaseReadLock(input); } }
private void writeWithAckImpl(boolean encryption, boolean telemetry) { Pipe<PersistedBlobStoreProducerSchema> perStoreProducer = PersistedBlobStoreProducerSchema.instance.newPipe(10, 1000); Pipe<PersistedBlobStoreConsumerSchema> perStoreConsumer = PersistedBlobStoreConsumerSchema.instance.newPipe(10, 1000); perStoreProducer.initBuffers(); perStoreConsumer.initBuffers(); long fieldBlockId = 10; byte[] fieldByteArrayBacking = "hello".getBytes(); int fieldByteArrayPosition = 0; int fieldByteArrayLength = fieldByteArrayBacking.length; PipeWriter.presumeWriteFragment(perStoreProducer, PersistedBlobStoreProducerSchema.MSG_BLOCK_1); PipeWriter.writeLong(perStoreProducer,PersistedBlobStoreProducerSchema.MSG_BLOCK_1_FIELD_BLOCKID_3, fieldBlockId); PipeWriter.writeBytes(perStoreProducer,PersistedBlobStoreProducerSchema.MSG_BLOCK_1_FIELD_BYTEARRAY_2, fieldByteArrayBacking, fieldByteArrayPosition, fieldByteArrayLength); PipeWriter.publishWrites(perStoreProducer); PipeWriter.publishEOF(perStoreConsumer); String result = runGraph(perStoreProducer, perStoreConsumer, encryption, telemetry); assertTrue(result, result.indexOf("AckWrite")>0); assertTrue(result, result.indexOf("{\"BlockId\":10}")>0); }
Pipe<BlockStorageReceiveSchema> doFinalInput1 = BlockStorageReceiveSchema.instance.newPipe(10, 1000); Pipe<BlockStorageXmitSchema> doFinalOutput1 = BlockStorageXmitSchema.instance.newPipe(10, 1000); Pipe<BlockStorageReceiveSchema> doFinalInput2 = BlockStorageReceiveSchema.instance.newPipe(10, 1000); Pipe<BlockStorageXmitSchema> doFinalOutput2 = BlockStorageXmitSchema.instance.newPipe(10, 1000);
private void writeAndReadImpl(boolean encryption, boolean telemetry) { Pipe<PersistedBlobStoreProducerSchema> perStoreProducer = PersistedBlobStoreProducerSchema.instance.newPipe(10, 1000); Pipe<PersistedBlobStoreConsumerSchema> perStoreConsumer = PersistedBlobStoreConsumerSchema.instance.newPipe(10, 1000); perStoreProducer.initBuffers(); perStoreConsumer.initBuffers(); byte[] fieldByteArrayBacking = "hello".getBytes(); int fieldByteArrayLength = fieldByteArrayBacking.length; PipeWriter.presumeWriteFragment(perStoreProducer, PersistedBlobStoreProducerSchema.MSG_BLOCK_1); PipeWriter.writeLong(perStoreProducer,PersistedBlobStoreProducerSchema.MSG_BLOCK_1_FIELD_BLOCKID_3, (long) 10); PipeWriter.writeBytes(perStoreProducer,PersistedBlobStoreProducerSchema.MSG_BLOCK_1_FIELD_BYTEARRAY_2, fieldByteArrayBacking, 0, fieldByteArrayLength); PipeWriter.publishWrites(perStoreProducer); PipeWriter.presumeWriteFragment(perStoreConsumer, PersistedBlobStoreConsumerSchema.MSG_REQUESTREPLAY_6); PipeWriter.publishWrites(perStoreConsumer); PipeWriter.publishEOF(perStoreConsumer); //ensure that the parts do not shut down before we are done PipeWriter.publishEOF(perStoreProducer); String result = runGraph(perStoreProducer, perStoreConsumer, encryption, telemetry); assertTrue(result, result.indexOf("AckWrite")>0); assertTrue(result, result.indexOf("{\"BlockId\":10}")>0); assertTrue(result, result.indexOf("0x68,0x65,0x6c,0x6c,0x6f")>0); assertTrue(result, result.indexOf("FinishReplay")>0); }
private void writeReleaseAndReadImpl(boolean encryption, boolean telemetry) { Pipe<PersistedBlobStoreProducerSchema> perStoreProducer = PersistedBlobStoreProducerSchema.instance.newPipe(10, 1000); Pipe<PersistedBlobStoreConsumerSchema> perStoreConsumer = PersistedBlobStoreConsumerSchema.instance.newPipe(10, 1000);