diff Paper/src/context1.c @ 0:a5facba1adbc

first
author ryokka
date Fri, 13 Apr 2018 18:07:04 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/context1.c	Fri Apr 13 18:07:04 2018 +0900
@@ -0,0 +1,43 @@
+enum Code {
+    C_cs1,
+    C_cs2,
+};
+enum DataType {
+    D_Meta,
+    D_TaskManager,
+    ...
+};
+struct Context {
+    enum Code next;
+    struct Worker* worker;
+    struct TaskManager* taskManager;
+    int codeNum;
+    __code (**code) (struct Context*);
+    void* heapStart;
+    void* heap;
+    long heapLimit;
+    int dataNum;
+    int idgCount;
+    int idg;
+    int maxIdg;
+    int odg;
+    int maxOdg;
+    int workerId;
+    int gpu;
+    struct Context* task;
+    struct Queue* tasks;
+    union Data **data;
+};
+union Data {
+    struct Meta {
+        enum DataType type;
+        long size;
+        struct Queue* wait;
+    } meta;
+    struct Task {
+        enum Code code;
+        struct Queue* dataGears;
+        int idsCount;
+    } Task;
+    ...
+};