Zappy GUI
C++ graphic client: renderer, camera, network
Loading...
Searching...
No Matches
EventQueue.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <mutex>
4#include <optional>
5#include <queue>
6
7#include "Event.hpp"
8
15 public:
21 void push(Event event);
22
28 std::optional<Event> pop();
29
34 void clear();
35
36 private:
37 std::queue<Event> _queue;
38 std::mutex _mutex;
39};
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
Thread-safe queue for storing events received from the server. Allows for potential multi-threaded be...
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