diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-12-04 14:53:54 +0100 |
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-12-04 14:53:54 +0100 |
| commit | c89b5e3c0d9515f07892af464bd6c60fb3427c36 (patch) | |
| tree | 18c7573859606dada82e56d5115cd5d1e71129db /src/OrderedQueue.h | |
| parent | 814ec3abaede73ea38c7130333c7bc0a18e05d91 (diff) | |
| download | ODR-SourceCompanion-c89b5e3c0d9515f07892af464bd6c60fb3427c36.tar.gz ODR-SourceCompanion-c89b5e3c0d9515f07892af464bd6c60fb3427c36.tar.bz2 ODR-SourceCompanion-c89b5e3c0d9515f07892af464bd6c60fb3427c36.zip | |
Timestamp arrival of UDP packets
Diffstat (limited to 'src/OrderedQueue.h')
| -rw-r--r-- | src/OrderedQueue.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/OrderedQueue.h b/src/OrderedQueue.h index 7cc59ee..654ae61 100644 --- a/src/OrderedQueue.h +++ b/src/OrderedQueue.h @@ -22,9 +22,18 @@ #include <string> #include <map> #include <vector> +#include <chrono> #include <cstdint> #include <cstdio> +using timestamp_t = std::chrono::system_clock::time_point; +using vec_u8 = std::vector<uint8_t>; + +struct OrderedQueueData { + vec_u8 buf; + timestamp_t capture_timestamp; +}; + /* An queue that receives indexed frames, potentially out-of-order, * which returns the frames in-order. */ @@ -36,13 +45,11 @@ class OrderedQueue */ OrderedQueue(int32_t maxIndex, size_t capacity); - void push(int32_t index, const uint8_t* buf, size_t size); + void push(int32_t index, const uint8_t* buf, size_t size, const timestamp_t& ts); bool availableData() const; /* Return the next buffer, or an empty buffer if none available */ - std::vector<uint8_t> pop(int32_t *returnedIndex=nullptr); - - using OrderedQueueData = std::vector<uint8_t>; + OrderedQueueData pop(int32_t *returnedIndex=nullptr); private: int32_t _maxIndex; |
