mirror of https://github.com/deavmi/tasky.git
Crap
This commit is contained in:
parent
efa818e06f
commit
72082d8d23
45
source/app.d
45
source/app.d
|
@ -71,9 +71,10 @@ unittest
|
||||||
TaskManager tMan = new TaskManager(manager);
|
TaskManager tMan = new TaskManager(manager);
|
||||||
tMan.start();
|
tMan.start();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ReverseTask task = new ReverseTask("");
|
ReverseTask task = new ReverseTask("");
|
||||||
task.eventType = new ReverseEvent(1, "Hello");
|
|
||||||
|
|
||||||
tMan.pushJob(task);
|
tMan.pushJob(task);
|
||||||
|
|
||||||
|
@ -206,7 +207,9 @@ public final class ReverseTask : Task
|
||||||
|
|
||||||
this(string words)
|
this(string words)
|
||||||
{
|
{
|
||||||
super(cast(byte[])words);
|
ReverseEvent revEvent = new ReverseEvent(1, words);
|
||||||
|
|
||||||
|
super(revEvent, [&reverseHandler], cast(byte[])"d");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void reverseHandler(Event e)
|
public static void reverseHandler(Event e)
|
||||||
|
@ -218,11 +221,6 @@ public final class ReverseTask : Task
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void sethandlers()
|
|
||||||
{
|
|
||||||
/* Set some signal handlers */
|
|
||||||
handlers = [new Signal([eventType.id], &reverseHandler)];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Task
|
public class Task
|
||||||
|
@ -240,18 +238,34 @@ public class Task
|
||||||
return eventType;
|
return eventType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setEvent(Event eventType, EventHandler[] handlers)
|
||||||
|
{
|
||||||
|
this.eventType = eventType;
|
||||||
|
foreach(EventHandler handler; handlers)
|
||||||
|
{
|
||||||
|
this.handlers ~= [new Signal([eventType.id], handler)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private byte[] dataToSend;
|
private byte[] dataToSend;
|
||||||
|
|
||||||
this(byte[] dataToSend)
|
this(Event eventType, EventHandler[] handlers, byte[] dataToSend)
|
||||||
{
|
{
|
||||||
|
setEvent(eventType, handlers);
|
||||||
this.dataToSend = dataToSend;
|
this.dataToSend = dataToSend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Signal[] getHandlers()
|
||||||
|
{
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
public ulong getID()
|
public ulong getID()
|
||||||
{
|
{
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ulong id;
|
private ulong id;
|
||||||
private bool isSet;
|
private bool isSet;
|
||||||
|
|
||||||
|
@ -315,10 +329,7 @@ public final class TaskManager : Thread
|
||||||
foreach(Task task; currentTasks)
|
foreach(Task task; currentTasks)
|
||||||
{
|
{
|
||||||
/* Find the matching tristananble queue */
|
/* Find the matching tristananble queue */
|
||||||
TQueue tQueue = manager.getQueue(task.getID());
|
TQueue tQueue = manager.getQueue(task.getID());
|
||||||
|
|
||||||
|
|
||||||
writeln(tQueue);
|
|
||||||
|
|
||||||
/* TODO: Poll queue here */
|
/* TODO: Poll queue here */
|
||||||
if(tQueue.poll())
|
if(tQueue.poll())
|
||||||
|
@ -334,6 +345,9 @@ public final class TaskManager : Thread
|
||||||
|
|
||||||
/* Add to list of tasks to delete (for-loop list safety) */
|
/* Add to list of tasks to delete (for-loop list safety) */
|
||||||
tasksToBeRemoved~=task;
|
tasksToBeRemoved~=task;
|
||||||
|
|
||||||
|
writeln("disp");
|
||||||
|
writeln(eventEngine.getSignalsForEvent(task.getEvent()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,6 +384,13 @@ public final class TaskManager : Thread
|
||||||
/* Set the task's ID */
|
/* Set the task's ID */
|
||||||
task.setId(taskQueue.getTag());
|
task.setId(taskQueue.getTag());
|
||||||
|
|
||||||
|
/* Install this task's type's handlers */
|
||||||
|
/* TODO: Install Like, event types */
|
||||||
|
foreach(Signal signal; task.getHandlers())
|
||||||
|
{
|
||||||
|
eventEngine.addSignalHandler(signal);
|
||||||
|
}
|
||||||
|
|
||||||
/* Lock the pending tasks queue */
|
/* Lock the pending tasks queue */
|
||||||
currentTasksLock.lock();
|
currentTasksLock.lock();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue