Mercurial > hg > Gears > Gears
changeset 982:dd71859780b9
rework gearsFile
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 21 Oct 2021 22:50:03 +0900 |
parents | 449a78f0cddd |
children | d855932884b7 0034a63e9c85 |
files | src/parallel_execution/examples/gearsFile/GearsFile.h src/parallel_execution/examples/gearsFile/GearsFileImpl.cbc src/parallel_execution/examples/gearsFile/GearsFileImpl.h src/parallel_execution/examples/gearsFile/GearsFile_test.cbc |
diffstat | 4 files changed, 31 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parallel_execution/examples/gearsFile/GearsFile.h Thu Oct 21 14:44:00 2021 +0900 +++ b/src/parallel_execution/examples/gearsFile/GearsFile.h Thu Oct 21 22:50:03 2021 +0900 @@ -1,12 +1,11 @@ typedef struct GearsFile <> { union Data* gearsFile; union Data* data; - struct Queue* inputStreamQueue; - struct Queue* outputStreamQueue; - struct Queue* dataQueue; + union Data* queue; struct FileData* fileData; - __code readData(Impl* gearsFile, Queue* outputStreamQueue,__code next(...)); - __code writeData(Impl* gearsFile, Queue* inputStreamQueue, __code next(...)); + __code readData(Impl* gearsFile, __code next(...)); + __code writeData(Impl* gearsFile, __code next(...)); + __code takeStream(Impl* gearsFile, Queue* queue, __code next(...)); __code test(Impl* gearsFile, FileData* fileData, __code next(...)); __code next(...); } GearsFile;
--- a/src/parallel_execution/examples/gearsFile/GearsFileImpl.cbc Thu Oct 21 14:44:00 2021 +0900 +++ b/src/parallel_execution/examples/gearsFile/GearsFileImpl.cbc Thu Oct 21 22:50:03 2021 +0900 @@ -15,41 +15,43 @@ struct GearsFile* gearsFile = new GearsFile(); struct GearsFileImpl* gears_file_impl = new GearsFileImpl(); gearsFile->gearsFile = (union Data*)gears_file_impl; - - Queue* inputQueue = createSingleLinkedQueue(context); - gearsFile->inputStreamQueue = inputQueue; - Queue* outputQueue = createSynchronizedQueue(context); - gearsFile->outputStreamQueue = outputQueue; - Queue* DQueue = createSingleLinkedQueue(context); - gearsFile->dataQueue = DQueue; - + + gears_file_impl->inputQueue = createSingleLinkedQueue(context); + gears_file_impl->outputQueue = createSingleLinkedQueue(context); + gears_file_impl->mainQueue = createSingleLinkedQueue(context); + gearsFile->readData = C_readDataGearsFileImpl; gearsFile->writeData = C_writeDataGearsFileImpl; gearsFile->test = C_testGearsFileImpl; return gearsFile; } -__code readData(struct GearsFileImpl* gearsFile, Queue* outputStreamQueue, __code next(...)) { - printf("readData\n"); - - goto outputStreamQueue->take(test); +__code readData(struct GearsFileImpl* gearsFile, __code next(...)) { + struct Queue* iQueue = gearsFile->inputQueue; + goto iQueue->take(test); } -__code writeData(struct GearsFileImpl* gearsFile, Queue* inputStreamQueue, __code next(...)) { - //struct Queue* inputStreamQueue = createSingleLinkedQueue(context); +__code writeData(struct GearsFileImpl* gearsFile, __code next(...)) { + printf("writeData\n"); + struct Queue* queue = gearsFile->inputQueue; FileData* fileData = NEW(FileData); fileData->string = "tsts"; - printf("writeData\n"); - goto inputStreamQueue->put(fileData, next(...)); + goto queue->put(fileData, next(...)); +} + + +__code takeStreamQueue(struct GearsFileImpl* gearsFile, Queue* queue, __code next(...)){ + printf("takeStreamQueue\n"); } __code test(struct GearsFileImpl* gearsFile, FileData* fileData, __code next(...)) { - if (fileData ==NULL){ + if (fileData == NULL){ printf("End of File\n"); + goto exit_code(); } else { printf("%s\n", fileData->string); + goto next(...); } - goto next(...); } __code testGearsFileImpl_stub(struct Context* context){
--- a/src/parallel_execution/examples/gearsFile/GearsFileImpl.h Thu Oct 21 14:44:00 2021 +0900 +++ b/src/parallel_execution/examples/gearsFile/GearsFileImpl.h Thu Oct 21 22:50:03 2021 +0900 @@ -1,3 +1,6 @@ -typedef struct GearsFileImpl <> impl GearsFile { +typedef struct GearsFileImpl <> impl GearsFile { + struct Queue* inputQueue; + struct Queue* outputQueue; + struct Queue* mainQueue; __code next(...); } GearsFileImpl;
--- a/src/parallel_execution/examples/gearsFile/GearsFile_test.cbc Thu Oct 21 14:44:00 2021 +0900 +++ b/src/parallel_execution/examples/gearsFile/GearsFile_test.cbc Thu Oct 21 22:50:03 2021 +0900 @@ -3,8 +3,8 @@ -__code fileTask1(GearsFile* gearsFile){ - goto gearsFile->writeData(gearsFile->inputStreamQueue ,fileTask2); +__code fileTask1(GearsFile* gearsFile){ + goto gearsFile->writeData(fileTask2); } __code fileTask1_stub(struct Context* context){ @@ -13,8 +13,7 @@ } __code fileTask2(GearsFile* gearsFile){ - printf("Task2\n"); - goto gearsFile->readData(gearsFile->inputStreamQueue, exit_code); + goto gearsFile->readData(fileTask2); } __code fileTask2_stub(struct Context* context){