Skip to content

Commit ee4a592

Browse files
committed
Queue tests
1 parent 13bb1ca commit ee4a592

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

examples/tests/basic/test-queue/test-queue.ino

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
#include "AudioTools.h"
2+
#include "Concurrency/QueueLockFree.h"
23

4+
// select the queue implementation:
35
//Queue<int> q;
4-
QueueFromVector<int> q{0,10};
6+
//QueueFromVector<int> q{10, 0};
7+
QueueLockFree<int> q(10);
58

69
void setup(){
710
Serial.begin(115200);

src/AudioBasic/Collections/QueueFromVector.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace audio_tools {
1313
template <class T>
1414
class QueueFromVector {
1515
public:
16-
QueueFromVector(T empty, size_t size) {
16+
QueueFromVector(size_t size, T empty) {
1717
null_value = empty;
1818
resize(size);
1919
};
@@ -72,6 +72,8 @@ class QueueFromVector {
7272
bool is_full() {
7373
return _size >= vector.size();
7474
}
75+
76+
size_t capacity() { return vector.capacity(); }
7577

7678
void setAllocator(Allocator &allocator){
7779
vector.setAllocator(allocator);

src/AudioTools/Buffers.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -722,8 +722,8 @@ class NBuffer : public BaseBuffer<T> {
722722
uint16_t buffer_count = 0;
723723
BaseBuffer<T> *actual_read_buffer = nullptr;
724724
BaseBuffer<T> *actual_write_buffer = nullptr;
725-
QueueFromVector<BaseBuffer<T> *> available_buffers{nullptr,0};
726-
QueueFromVector<BaseBuffer<T> *> filled_buffers{nullptr,0};
725+
QueueFromVector<BaseBuffer<T> *> available_buffers{0, nullptr};
726+
QueueFromVector<BaseBuffer<T> *> filled_buffers{0, nullptr};
727727
unsigned long start_time = 0;
728728
unsigned long sample_count = 0;
729729

src/Concurrency/QueueLockFree.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ class QueueLockFree {
4747

4848
size_t capacity() const { return capacity_value; }
4949

50+
bool empty() { return size() == 0;}
51+
5052
size_t size() const {
5153
size_t head = head_pos.load(std::memory_order_acquire);
5254
return tail_pos.load(std::memory_order_relaxed) - head;

0 commit comments

Comments
 (0)