group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
EventQueue.hpp
Go to the documentation of this file.
1
3
4#pragma once
5#include "Event.hpp"
6
7#include <mutex>
8#include <queue>
9#include <vector>
10
23{
24public:
27 bool isEmpty();
28
31 void enqueue(Event event);
32
35 Event dequeue();
36
39 int size();
40
45 void drainAll(std::vector<Event>& out);
46
47private:
48 std::queue<Event> events;
49 mutable std::mutex queueMutex;
50};
Client Event structure to be consumed by server game loop.
Thread-safe FIFO queue of gameplay events awaiting processing each tick.
Definition EventQueue.hpp:23
void enqueue(Event event)
Push an event onto the back of the queue.
Definition EventQueue.cpp:14
int size()
Return the number of pending events.
Definition EventQueue.cpp:31
bool isEmpty()
Check whether the queue contains no events.
Definition EventQueue.cpp:8
void drainAll(std::vector< Event > &out)
PR-2b (server-perf): drain every queued event into out in FIFO order.
Definition EventQueue.cpp:37
std::queue< Event > events
Underlying FIFO storage.
Definition EventQueue.hpp:48
std::mutex queueMutex
Guards events for cross-thread access.
Definition EventQueue.hpp:49
Event dequeue()
Remove and return the front event.
Definition EventQueue.cpp:20
A single gameplay event produced by network input processing.
Definition Event.hpp:30