Zappy GUI
C++ graphic client: renderer, camera, network
Loading...
Searching...
No Matches
EventQueue.cpp
Go to the documentation of this file.
1#include "EventQueue.hpp"
2
4{
5 std::lock_guard<std::mutex> lock(_mutex);
6 _queue.push(std::move(event));
7}
8
9std::optional<Event> EventQueue::pop()
10{
11 std::lock_guard<std::mutex> lock(_mutex);
12 if (_queue.empty()) return std::nullopt;
13
14 Event event = std::move(_queue.front());
15 _queue.pop();
16 return event;
17}
18
20{
21 std::lock_guard<std::mutex> lock(_mutex);
22 _queue = {};
23}
std::variant< MapSize, TileContent, TeamName, PlayerNew, PlayerPosition, PlayerLevel, PlayerInventory, PlayerExpulsion, PlayerBroadcast, IncantationStart, IncantationEnd, PlayerFork, PlayerResourceDrop, PlayerResourceTake, PlayerDeath, EggNew, EggHatch, EggDeath, TimeUnit, TimeUnitChange, GameEnd, ServerMessage, UnknownCommand, BadParameters, ServerUptime, ServerSpawnedEgg, WinDuration > Event
Represents an event received from the server. Is a variant of all possible events,...
Definition Event.hpp:188
std::queue< Event > _queue
std::mutex _mutex
void push(Event event)
Pushes an event to the queue. Thread safe.
Definition EventQueue.cpp:3
void clear()
Clears all pending events from the queue. Thread safe.
std::optional< Event > pop()
Pops an event from the queue. Thread safe.
Definition EventQueue.cpp:9