|
@@ -12,38 +12,79 @@ struct TestEvent
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//-----------------------------------------------------------------------------
|
|
|
-int main()
|
|
|
|
|
|
|
+void fill_events(EventBuffer& event_buffer, uint32_t num)
|
|
|
{
|
|
{
|
|
|
- EventBuffer event_buffer;
|
|
|
|
|
-
|
|
|
|
|
TestEvent event;
|
|
TestEvent event;
|
|
|
event.a = 1;
|
|
event.a = 1;
|
|
|
event.b = 2;
|
|
event.b = 2;
|
|
|
event.c = 3;
|
|
event.c = 3;
|
|
|
|
|
|
|
|
- for (uint32_t i = 0; i < 10; i++)
|
|
|
|
|
|
|
+ for (uint32_t i = 0; i < num; i++)
|
|
|
{
|
|
{
|
|
|
event_buffer.push_event(0, &event, sizeof(TestEvent));
|
|
event_buffer.push_event(0, &event, sizeof(TestEvent));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- CE_ASSERT(event_buffer.size() == (10 * (sizeof(TestEvent) + sizeof(uint32_t) + sizeof(size_t))), "Something ha gone wrong");
|
|
|
|
|
|
|
+ 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;
|
|
TestEvent* result;
|
|
|
uint32_t type = 0;
|
|
uint32_t type = 0;
|
|
|
size_t size = 0;
|
|
size_t size = 0;
|
|
|
|
|
|
|
|
uint32_t count = 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)
|
|
while ((result = (TestEvent*)event_buffer.get_next_event(type, size)) != NULL)
|
|
|
{
|
|
{
|
|
|
- Log::i("type => %d", type);
|
|
|
|
|
- Log::i("size => %d", size);
|
|
|
|
|
- Log::i("a => %d", result->a);
|
|
|
|
|
- Log::i("b => %d", result->b);
|
|
|
|
|
- Log::i("c => %d", result->c);
|
|
|
|
|
count++;
|
|
count++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- CE_ASSERT(count == 10, "Something ha gone wrong");
|
|
|
|
|
|
|
+ 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;
|
|
return 0;
|
|
|
}
|
|
}
|