mirror of
https://github.com/deavmi/tasky.git
synced 2024-09-21 01:43:17 +02:00
Crap
This commit is contained in:
parent
efa818e06f
commit
72082d8d23
43
source/app.d
43
source/app.d
@ -72,8 +72,9 @@ unittest
|
||||
tMan.start();
|
||||
|
||||
|
||||
|
||||
|
||||
ReverseTask task = new ReverseTask("");
|
||||
task.eventType = new ReverseEvent(1, "Hello");
|
||||
|
||||
tMan.pushJob(task);
|
||||
|
||||
@ -206,7 +207,9 @@ public final class ReverseTask : Task
|
||||
|
||||
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)
|
||||
@ -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
|
||||
@ -240,18 +238,34 @@ public class Task
|
||||
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;
|
||||
|
||||
this(byte[] dataToSend)
|
||||
this(Event eventType, EventHandler[] handlers, byte[] dataToSend)
|
||||
{
|
||||
setEvent(eventType, handlers);
|
||||
this.dataToSend = dataToSend;
|
||||
}
|
||||
|
||||
public Signal[] getHandlers()
|
||||
{
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public ulong getID()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
private ulong id;
|
||||
private bool isSet;
|
||||
|
||||
@ -317,9 +331,6 @@ public final class TaskManager : Thread
|
||||
/* Find the matching tristananble queue */
|
||||
TQueue tQueue = manager.getQueue(task.getID());
|
||||
|
||||
|
||||
writeln(tQueue);
|
||||
|
||||
/* TODO: Poll queue here */
|
||||
if(tQueue.poll())
|
||||
{
|
||||
@ -334,6 +345,9 @@ public final class TaskManager : Thread
|
||||
|
||||
/* Add to list of tasks to delete (for-loop list safety) */
|
||||
tasksToBeRemoved~=task;
|
||||
|
||||
writeln("disp");
|
||||
writeln(eventEngine.getSignalsForEvent(task.getEvent()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -370,6 +384,13 @@ public final class TaskManager : Thread
|
||||
/* Set the task's ID */
|
||||
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 */
|
||||
currentTasksLock.lock();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user