Added exception class

ALso added `getQueues()` function
This commit is contained in:
Tristan B. Velloza Kildaire 2021-09-08 19:21:33 +02:00
parent d9e5e54477
commit 88be3d08e3
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,29 @@
module tristanable.exceptions;
import tristanable.manager;
import tristanable.queue : Queue;
public final class TristanableException : Exception
{
this(Manager manager, string message)
{
super(generateMessage(message));
}
private string generateMessage(string errMesg)
{
string msg;
// msg = "TRistanable failure: "~errMesg~"\n\n";
// msg ~= "Queue stats:\n\n"
// Queue[] queues = manager.getQueues();
// foreach(Queue queue; queues)
// {
// msg ~= "Queue["~to!(string)(queue.getTag())~"]: "~
// }
// msg ~= manager.getQueues()
return msg;
}
}

View File

@ -110,6 +110,21 @@ public final class Manager
return newQueue;
}
public Queue[] getQueues()
{
Queue[] queues;
queuesLock.lock();
foreach(Queue queue; this.queues)
{
queues ~= queue;
}
queuesLock.unlock();
return queues;
}
public void removeQueue(Queue queue)
{
queuesLock.lock();