| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "Crown.h"
- #include "EventBuffer.h"
- using namespace crown;
- //-----------------------------------------------------------------------------
- struct TestEvent
- {
- uint32_t a;
- uint32_t b;
- uint32_t c;
- };
- //-----------------------------------------------------------------------------
- void fill_events(EventBuffer& event_buffer, uint32_t num)
- {
- TestEvent event;
- event.a = 1;
- event.b = 2;
- event.c = 3;
- for (uint32_t i = 0; i < num; i++)
- {
- event_buffer.push_event(0, &event, sizeof(TestEvent));
- }
- uint32_t size = num * (sizeof(TestEvent) + sizeof(uint32_t) + sizeof(size_t));
- CE_ASSERT(event_buffer.size() == size, "Something ha gone wrong, size is %d, should be %d", event_buffer.size(), size);
- }
- void get_events(EventBuffer& event_buffer, uint32_t num)
- {
- TestEvent* result;
- uint32_t type = 0;
- size_t size = 0;
- uint32_t count = 0;
- for (uint32_t i = 0; i < num; i++)
- {
- result = (TestEvent*)event_buffer.get_next_event(type, size);
- if (result)
- {
- count++;
- }
- Log::i("count: %d", count);
- }
- CE_ASSERT(count == num, "Something ha gone wrong, count: %d, num: %d", count, num);
- }
- void get_event_until_end(EventBuffer& event_buffer)
- {
- TestEvent* result;
- uint32_t type = 0;
- size_t size = 0;
- int32_t count = 0;
- while ((result = (TestEvent*)event_buffer.get_next_event(type, size)) != NULL)
- {
- count++;
- }
- Log::i("count: %d", count);
- }
- //-----------------------------------------------------------------------------
- int main()
- {
- EventBuffer event_buffer;
- fill_events(event_buffer, 10);
- get_events(event_buffer, 10);
- event_buffer.clear();
- fill_events(event_buffer, 5);
- get_events(event_buffer, 5);
- event_buffer.clear();
- fill_events(event_buffer, 30);
- get_event_until_end(event_buffer);
- return 0;
- }
|