diff --git a/src/RingBuffer.h b/src/RingBuffer.h
index 8c2f9956..4b0f3b7f 100644
--- a/src/RingBuffer.h
+++ b/src/RingBuffer.h
@@ -99,7 +99,7 @@ public:
/// Buffer to write data to be retrieved.
/// Length of data to retrieve.
/// True, if data is read from ring buffer, otherwise false.
- bool getData(T* buffer, uint32_t length)
+ bool get(T* buffer, uint32_t length)
{
if (dataSize() < length) {
LogError(LOG_HOST, "**** Underflow in %s ring buffer, %u < %u", m_name, dataSize(), length);
diff --git a/src/dmr/Slot.cpp b/src/dmr/Slot.cpp
index d72dec32..d3756c73 100644
--- a/src/dmr/Slot.cpp
+++ b/src/dmr/Slot.cpp
@@ -333,12 +333,12 @@ uint32_t Slot::getFrame(uint8_t* data)
// tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) {
- m_txImmQueue.getData(&len, 1U);
- m_txImmQueue.getData(data, len);
+ m_txImmQueue.get(&len, 1U);
+ m_txImmQueue.get(data, len);
}
else {
- m_txQueue.getData(&len, 1U);
- m_txQueue.getData(data, len);
+ m_txQueue.get(&len, 1U);
+ m_txQueue.get(data, len);
}
return len;
diff --git a/src/host/setup/HostSetup.cpp b/src/host/setup/HostSetup.cpp
index 26064fae..c63bd9ee 100644
--- a/src/host/setup/HostSetup.cpp
+++ b/src/host/setup/HostSetup.cpp
@@ -340,8 +340,8 @@ bool HostSetup::portModemHandler(Modem* modem, uint32_t ms, RESP_TYPE_DVM rspTyp
uint8_t data[p25::P25_LDU_FRAME_LENGTH_BYTES + 2U];
dataLen = 0U;
- m_queue.getData(&dataLen, 1U);
- m_queue.getData(data, dataLen);
+ m_queue.get(&dataLen, 1U);
+ m_queue.get(data, dataLen);
uint8_t buffer[250U];
diff --git a/src/modem/Modem.cpp b/src/modem/Modem.cpp
index 8cd9e318..60cbb415 100644
--- a/src/modem/Modem.cpp
+++ b/src/modem/Modem.cpp
@@ -1010,10 +1010,15 @@ uint32_t Modem::readDMRFrame1(uint8_t* data)
return 0U;
uint8_t len = 0U;
- m_rxDMRQueue1.getData(&len, 1U);
- m_rxDMRQueue1.getData(data, len);
+ m_rxDMRQueue1.peek(&len, 1U);
+ if (m_rxDMRQueue1.dataSize() >= len) {
+ m_rxDMRQueue1.get(&len, 1U); // ensure we pop the length off
+ m_rxDMRQueue1.get(data, len);
+
+ return len;
+ }
- return len;
+ return 0U;
}
///
@@ -1029,10 +1034,15 @@ uint32_t Modem::readDMRFrame2(uint8_t* data)
return 0U;
uint8_t len = 0U;
- m_rxDMRQueue2.getData(&len, 1U);
- m_rxDMRQueue2.getData(data, len);
+ m_rxDMRQueue2.peek(&len, 1U);
+ if (m_rxDMRQueue2.dataSize() >= len) {
+ m_rxDMRQueue2.get(&len, 1U); // ensure we pop the length off
+ m_rxDMRQueue2.get(data, len);
+
+ return len;
+ }
- return len;
+ return 0U;
}
///
@@ -1048,10 +1058,15 @@ uint32_t Modem::readP25Frame(uint8_t* data)
return 0U;
uint8_t len = 0U;
- m_rxP25Queue.getData(&len, 1U);
- m_rxP25Queue.getData(data, len);
+ m_rxP25Queue.peek(&len, 1U);
+ if (m_rxP25Queue.dataSize() >= len) {
+ m_rxP25Queue.get(&len, 1U); // ensure we pop the length off
+ m_rxP25Queue.get(data, len);
+
+ return len;
+ }
- return len;
+ return 0U;
}
///
@@ -1067,10 +1082,15 @@ uint32_t Modem::readNXDNFrame(uint8_t* data)
return 0U;
uint8_t len = 0U;
- m_rxNXDNQueue.getData(&len, 1U);
- m_rxNXDNQueue.getData(data, len);
+ m_rxNXDNQueue.peek(&len, 1U);
+ if (m_rxNXDNQueue.dataSize() >= len) {
+ m_rxNXDNQueue.get(&len, 1U); // ensure we pop the length off
+ m_rxNXDNQueue.get(data, len);
+
+ return len;
+ }
- return len;
+ return 0U;
}
///
diff --git a/src/modem/port/ModemNullPort.cpp b/src/modem/port/ModemNullPort.cpp
index 61180f7f..7d09ec2f 100644
--- a/src/modem/port/ModemNullPort.cpp
+++ b/src/modem/port/ModemNullPort.cpp
@@ -84,7 +84,7 @@ int ModemNullPort::read(uint8_t* buffer, uint32_t length)
if (length > dataSize)
length = dataSize;
- m_buffer.getData(buffer, length);
+ m_buffer.get(buffer, length);
return int(length);
}
diff --git a/src/modem/port/UDPPort.cpp b/src/modem/port/UDPPort.cpp
index 7fde3e73..2425a4d2 100644
--- a/src/modem/port/UDPPort.cpp
+++ b/src/modem/port/UDPPort.cpp
@@ -134,7 +134,7 @@ int UDPPort::read(uint8_t* buffer, uint32_t length)
length = avail;
if (length > 0U)
- m_buffer.getData(buffer, length);
+ m_buffer.get(buffer, length);
return int(length);
}
diff --git a/src/network/BaseNetwork.cpp b/src/network/BaseNetwork.cpp
index 64f5b400..a576bc6d 100644
--- a/src/network/BaseNetwork.cpp
+++ b/src/network/BaseNetwork.cpp
@@ -276,7 +276,7 @@ UInt8Array BaseNetwork::readDMR(bool& ret, uint32_t& frameLength)
}
uint8_t length = 0U;
- m_rxDMRData.getData(&length, 1U);
+ m_rxDMRData.get(&length, 1U);
if (length == 0U) {
ret = false;
return nullptr;
@@ -286,7 +286,7 @@ UInt8Array BaseNetwork::readDMR(bool& ret, uint32_t& frameLength)
frameLength = length;
buffer = std::unique_ptr(new uint8_t[length]);
::memset(buffer.get(), 0x00U, length);
- m_rxDMRData.getData(buffer.get(), length);
+ m_rxDMRData.get(buffer.get(), length);
return buffer;
}
@@ -363,7 +363,7 @@ UInt8Array BaseNetwork::readP25(bool& ret, uint32_t& frameLength)
}
uint8_t length = 0U;
- m_rxP25Data.getData(&length, 1U);
+ m_rxP25Data.get(&length, 1U);
if (length == 0U) {
ret = false;
return nullptr;
@@ -373,7 +373,7 @@ UInt8Array BaseNetwork::readP25(bool& ret, uint32_t& frameLength)
frameLength = length;
buffer = std::unique_ptr(new uint8_t[length]);
::memset(buffer.get(), 0x00U, length);
- m_rxP25Data.getData(buffer.get(), length);
+ m_rxP25Data.get(buffer.get(), length);
return buffer;
}
@@ -545,7 +545,7 @@ UInt8Array BaseNetwork::readNXDN(bool& ret, uint32_t& frameLength)
}
uint8_t length = 0U;
- m_rxNXDNData.getData(&length, 1U);
+ m_rxNXDNData.get(&length, 1U);
if (length == 0U) {
ret = false;
return nullptr;
@@ -555,7 +555,7 @@ UInt8Array BaseNetwork::readNXDN(bool& ret, uint32_t& frameLength)
frameLength = length;
buffer = std::unique_ptr(new uint8_t[length]);
::memset(buffer.get(), 0x00U, length);
- m_rxNXDNData.getData(buffer.get(), length);
+ m_rxNXDNData.get(buffer.get(), length);
return buffer;
}
diff --git a/src/nxdn/Control.cpp b/src/nxdn/Control.cpp
index d88c2329..e305e320 100644
--- a/src/nxdn/Control.cpp
+++ b/src/nxdn/Control.cpp
@@ -546,12 +546,12 @@ uint32_t Control::getFrame(uint8_t* data)
// tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) {
- m_txImmQueue.getData(&len, 1U);
- m_txImmQueue.getData(data, len);
+ m_txImmQueue.get(&len, 1U);
+ m_txImmQueue.get(data, len);
}
else {
- m_txQueue.getData(&len, 1U);
- m_txQueue.getData(data, len);
+ m_txQueue.get(&len, 1U);
+ m_txQueue.get(data, len);
}
return len;
diff --git a/src/p25/Control.cpp b/src/p25/Control.cpp
index f7484161..7496b774 100644
--- a/src/p25/Control.cpp
+++ b/src/p25/Control.cpp
@@ -721,12 +721,12 @@ uint32_t Control::getFrame(uint8_t* data)
// tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) {
- m_txImmQueue.getData(&len, 1U);
- m_txImmQueue.getData(data, len);
+ m_txImmQueue.get(&len, 1U);
+ m_txImmQueue.get(data, len);
}
else {
- m_txQueue.getData(&len, 1U);
- m_txQueue.getData(data, len);
+ m_txQueue.get(&len, 1U);
+ m_txQueue.get(data, len);
}
return len;