You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
QnetGateway/ircddb/IRCMessageQueue.h

54 lines
607 B

#pragma once
#include <mutex>
#include "IRCMessage.h"
class IRCMessageQueueItem
{
public:
IRCMessageQueueItem( IRCMessage * m ) {
msg = m;
}
~IRCMessageQueueItem() {
}
IRCMessage * msg;
IRCMessageQueueItem * prev;
IRCMessageQueueItem * next;
};
class IRCMessageQueue
{
public:
IRCMessageQueue();
~IRCMessageQueue();
bool isEOF();
void signalEOF();
bool messageAvailable();
IRCMessage * getMessage();
IRCMessage * peekFirst();
void putMessage ( IRCMessage * m );
private:
bool eof;
IRCMessageQueueItem * first;
IRCMessageQueueItem * last;
std::mutex accessMutex;
};

Powered by TurnKey Linux.