- The actual queue is now an `SList!(TaggedMessage)`
- Added a stub method `enqueue(TaggedMessage)`
- Updated the stub method `dequeue()` which returns a `TaggedMessage` now
This commit is contained in:
Tristan B. Velloza Kildaire 2023-03-30 13:35:09 +02:00
parent 0d94ed0c83
commit 409dacd4da
1 changed files with 13 additions and 2 deletions

View File

@ -6,6 +6,8 @@ import libsnooze;
import tristanable.queueitem : QueueItem;
import core.sync.mutex : Mutex;
import std.container.slist : SList;
import tristanable.encoding;
public class Queue
{
@ -15,7 +17,7 @@ public class Queue
*/
private Event event;
private QueueItem queue;
private SList!(TaggedMessage) queue;
private Mutex queueLock;
/**
@ -36,8 +38,15 @@ public class Queue
this.queueID = queueID;
}
public void dequeue()
public void enqueue(TaggedMessage message)
{
// TODO: Implement me
}
public TaggedMessage dequeue()
{
TaggedMessage message;
try
{
// TODO: Make us wait on the event (optional with a time-out)
@ -55,6 +64,8 @@ public class Queue
// TODO: Unlock queue
queueLock.unlock();
return message;
}
public ulong getID()