- Upgraded to working version of `libsnooze` (compilation-wise)
- Fixed imports and missing definitions in `queue` module
This commit is contained in:
parent
cf431bdac9
commit
e7f93cd78a
|
@ -22,3 +22,4 @@ docs/
|
||||||
|
|
||||||
# Code coverage
|
# Code coverage
|
||||||
*.lst
|
*.lst
|
||||||
|
source/tristanable/queue.d
|
||||||
|
|
2
dub.json
2
dub.json
|
@ -4,7 +4,7 @@
|
||||||
],
|
],
|
||||||
"copyright": "Copyright © 2023, Tristan B. Kildaire",
|
"copyright": "Copyright © 2023, Tristan B. Kildaire",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"libsnooze": "0.2.5"
|
"libsnooze": "0.2.7"
|
||||||
},
|
},
|
||||||
"description": "Tag-based asynchronous messaging framework",
|
"description": "Tag-based asynchronous messaging framework",
|
||||||
"license": "LGPL-3.0",
|
"license": "LGPL-3.0",
|
||||||
|
|
|
@ -1,10 +1,36 @@
|
||||||
module tristanable.queue;
|
module tristanable.queue;
|
||||||
|
|
||||||
|
import libsnooze;
|
||||||
|
import core.sync.mutex : Mutex;
|
||||||
|
|
||||||
public class Queue
|
public class Queue
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Everytime a thread calls `.dequeue()` on this queue
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Event event;
|
||||||
|
|
||||||
|
private QueueItem queue;
|
||||||
|
private Mutex queueLock;
|
||||||
|
|
||||||
|
|
||||||
private this()
|
private this()
|
||||||
{
|
{
|
||||||
|
this.queueLock = new Mutex();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dequeue()
|
||||||
|
{
|
||||||
|
// TODO: Make us wait on the event (optional with a time-out)
|
||||||
|
|
||||||
|
// TODO: Lock queue
|
||||||
|
queueLock.lock();
|
||||||
|
|
||||||
|
// TODO: Get item off queue
|
||||||
|
|
||||||
|
// TODO: Unlock queue
|
||||||
|
queueLock.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Queue newQueue(ulong queueID)
|
public static Queue newQueue(ulong queueID)
|
||||||
|
@ -15,4 +41,9 @@ public class Queue
|
||||||
|
|
||||||
return queue;
|
return queue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class QueueItem
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue