Changed to our own Queue
This commit is contained in:
parent
1453d81a9d
commit
8dab865cb6
|
@ -6,8 +6,8 @@
|
|||
/////////////////////////////////////
|
||||
|
||||
#include "IPostBox.h"
|
||||
#include <queue>
|
||||
#include "../../Misc/Thread/OysterMutex.h"
|
||||
#include "../../Misc/ThreadSafeQueue.h"
|
||||
|
||||
namespace Oyster
|
||||
{
|
||||
|
@ -25,8 +25,7 @@ namespace Oyster
|
|||
virtual bool IsFull();
|
||||
|
||||
private:
|
||||
std::queue<T> messages;
|
||||
OysterMutex mutex;
|
||||
Oyster::Queue::ThreadSafeQueue<T> messages;
|
||||
|
||||
};
|
||||
|
||||
|
@ -44,27 +43,23 @@ namespace Oyster
|
|||
template <class T>
|
||||
void PostBox<T>::PostMessage(T& message)
|
||||
{
|
||||
mutex.LockMutex();
|
||||
messages.push(message);
|
||||
mutex.UnlockMutex();
|
||||
messages.Push(message);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void PostBox<T>::FetchMessage(T& message)
|
||||
{
|
||||
mutex.LockMutex();
|
||||
if(IsFull())
|
||||
{
|
||||
message = messages.front();
|
||||
messages.pop();
|
||||
message = messages.Front();
|
||||
messages.Pop();
|
||||
}
|
||||
mutex.UnlockMutex();
|
||||
}
|
||||
|
||||
template <class T>
|
||||
bool PostBox<T>::IsFull()
|
||||
{
|
||||
return !messages.empty();
|
||||
return !messages.IsEmpty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ int main()
|
|||
|
||||
//test queue
|
||||
//-----------------------------------------
|
||||
Oyster::Queue::IQueue<int> *test = new Oyster::Queue::ThreadSafeQueue<int>();
|
||||
/*Oyster::Queue::IQueue<int> *test = new Oyster::Queue::ThreadSafeQueue<int>();
|
||||
Oyster::Queue::IQueue<int> *test2 = new Oyster::Queue::ThreadSafeQueue<int>();
|
||||
|
||||
for(int i = 0; i < 100; i++)
|
||||
|
@ -91,8 +91,8 @@ int main()
|
|||
cout << test->Front() << " " << test2->Front() <<endl;
|
||||
|
||||
delete test;
|
||||
delete test2;
|
||||
//chat(client);
|
||||
delete test2;*/
|
||||
chat(client);
|
||||
|
||||
ShutdownWinSock();
|
||||
|
||||
|
|
Loading…
Reference in New Issue