/** * * @param graphManager * @param control _in_ Schemas defining sequential control. * @param response _out_ Schemas defining sequential response. * @param input _in_ Data being read. * @param output _out_ Data being written. * @param paths */ public SequentialFileReadWriteStage(GraphManager graphManager, Pipe<SequentialCtlSchema>[] control, // replay, clear, metaReq, idToSaveReq Pipe<SequentialRespSchema>[] response, //clearack, writeack, metaresponse(full size,date) Pipe<RawDataSchema>[] input, //data to append Pipe<RawDataSchema>[] output, //data from full replay String[] paths) { super(graphManager, join(control, input), join(response, output)); this.paths = paths; this.output = output; this.input = input; this.control = control; this.response = response; assert(paths.length == output.length); assert(input.length == output.length); assert(input.length == control.length); assert(response.length == control.length); }
requestShutdown(); if (readControl(i)) { //readControl may write to response for meta single msg didWork |= writeProcessing(i); //may write to response upon ack of each block single msg with block counts } else { didWork |= readProcessing(i); //may write to response upon end of file read single msg
SequentialFileReadWriteStage readWriteStage = new SequentialFileReadWriteStage(gm, control, response, input, output, paths);
return ackFinishedWrite(idx); logger.trace("data driven shutting down of file {} ",idx); shutdownInProgress[idx] |= 1; return ackFinishedWrite(idx); Pipe.releaseReadLock(localInput); return ackFinishedWrite(idx); if (hasDataToWrite(idx)) { try {
PronghornStage readWriteStage = new SequentialFileReadWriteStage(gm, control, response, fileDataToSave, fileDataToLoad, paths);