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