Evrythng API Example for W5500 (WIZnet chip)
Dependencies: EvrythngApi mbed
Fork of EvrythngApiExample by
Evrythng Example for W5500.
Diff: eventqueue.cpp
- Revision:
- 0:85d6be554642
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eventqueue.cpp Thu Aug 30 13:57:45 2012 +0000 @@ -0,0 +1,46 @@ +/* + * (c) Copyright 2012 EVRYTHNG Ltd London / Zurich + * www.evrythng.com + * + * --- DISCLAIMER --- + * + * EVRYTHNG provides this source code "as is" and without warranty of any kind, + * and hereby disclaims all express or implied warranties, including without + * limitation warranties of merchantability, fitness for a particular purpose, + * performance, accuracy, reliability, and non-infringement. + * + * Author: Michel Yerly + * + */ +#include "mbed.h" +#include "eventqueue.h" +#include <time.h> + +#include "util.h" + +void EventQueue::put(int64_t time, EventType type) +{ + Event event; + event.time = time; + event.type = type; + queue.push(event); +} + +EventType EventQueue::waitNext(int64_t currentTime) +{ + Event event = queue.top(); + queue.pop(); + int64_t w = event.time - currentTime; + if (w > 0) wait_ms(w); + return event.type; +} + +bool EventQueue::empty() +{ + return queue.empty(); +} + +int EventQueue::size() +{ + return queue.size(); +} \ No newline at end of file