This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Tortuga/server/network_queue.hpp
T
Kayne Ruse bf15a5d957 Minor tweak
2013-11-09 16:32:35 +11:00

38 lines
622 B
C++

#ifndef NETWORKQUEUE_HPP_
#define NETWORKQUEUE_HPP_
#include "udp_network_utility.hpp"
#include "network_packet.hpp"
#include "SDL/SDL_thread.h"
#include <deque>
class NetworkQueue {
public:
NetworkQueue() = default;
~NetworkQueue() = default;
void Init(UDPNetworkUtility*);
void Quit();
void Kill();
NetworkPacket Peek();
NetworkPacket Pop();
void Flush();
int Size();
private:
friend int networkQueueThread(void*);
void ResetMembers();
bool running = false;
UDPNetworkUtility* netUtil = nullptr;
SDL_sem* lock = nullptr;
SDL_Thread* thread = nullptr;
std::deque<NetworkPacket> queue;
};
#endif