2019-12-21 18:40:17 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2021-03-18 17:08:11 -04:00
|
|
|
#include <stddef.h>
|
2019-12-21 18:40:17 -05:00
|
|
|
|
2020-11-25 12:05:59 -05:00
|
|
|
#include "IGpVOSEventQueue.h"
|
2019-12-24 02:35:24 -05:00
|
|
|
#include "GpVOSEvent.h"
|
2019-12-21 18:40:17 -05:00
|
|
|
|
2020-11-25 12:05:59 -05:00
|
|
|
class GpVOSEventQueue final : public IGpVOSEventQueue
|
2019-12-24 02:35:24 -05:00
|
|
|
{
|
2019-12-21 18:40:17 -05:00
|
|
|
public:
|
|
|
|
|
GpVOSEventQueue();
|
|
|
|
|
~GpVOSEventQueue();
|
|
|
|
|
|
|
|
|
|
const GpVOSEvent *GetNext() override;
|
|
|
|
|
void DischargeOne() override;
|
|
|
|
|
|
2019-12-24 02:35:24 -05:00
|
|
|
GpVOSEvent *QueueEvent() override;
|
2019-12-21 18:40:17 -05:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
static const size_t kMaxEvents = 10000;
|
|
|
|
|
|
|
|
|
|
GpVOSEvent m_events[kMaxEvents];
|
|
|
|
|
size_t m_firstEvent;
|
|
|
|
|
size_t m_numEventsQueued;
|
|
|
|
|
};
|