remove write immediate;

3.0-rcon_maint
Bryan Biedenkapp 3 years ago
parent f47744e97a
commit 0ba35c7a54

@ -136,7 +136,6 @@ Control::Control(bool authoritative, uint32_t nac, uint32_t callHang, uint32_t q
m_minRSSI(0U),
m_aveRSSI(0U),
m_rssiCount(0U),
m_writeImmediate(false),
m_verbose(verbose),
m_debug(debug)
{
@ -801,33 +800,27 @@ void Control::addFrame(const uint8_t* data, uint32_t length, bool net)
return;
}
if (m_writeImmediate && m_modem->hasP25Space(length) && m_modem->getState() == modem::STATE_P25) {
m_writeImmediate = false;
m_modem->writeP25Data(data, length);
}
else {
uint32_t space = m_queue.freeSpace();
if (space < (length + 1U)) {
if (!net) {
uint32_t queueLen = m_queue.length();
m_queue.resize(queueLen + P25_LDU_FRAME_LENGTH_BYTES);
LogError(LOG_P25, "overflow in the P25 queue while writing data; queue free is %u, needed %u; resized was %u is %u", space, length, queueLen, m_queue.length());
return;
}
else {
LogError(LOG_P25, "overflow in the P25 queue while writing network data; queue free is %u, needed %u", space, length);
return;
}
uint32_t space = m_queue.freeSpace();
if (space < (length + 1U)) {
if (!net) {
uint32_t queueLen = m_queue.length();
m_queue.resize(queueLen + P25_LDU_FRAME_LENGTH_BYTES);
LogError(LOG_P25, "overflow in the P25 queue while writing data; queue free is %u, needed %u; resized was %u is %u", space, length, queueLen, m_queue.length());
return;
}
if (m_debug) {
Utils::symbols("!!! *Tx P25", data + 2U, length - 2U);
else {
LogError(LOG_P25, "overflow in the P25 queue while writing network data; queue free is %u, needed %u", space, length);
return;
}
}
uint8_t len = length;
m_queue.addData(&len, 1U);
m_queue.addData(data, len);
if (m_debug) {
Utils::symbols("!!! *Tx P25", data + 2U, length - 2U);
}
uint8_t len = length;
m_queue.addData(&len, 1U);
m_queue.addData(data, len);
}
#if ENABLE_DFSI_SUPPORT

@ -207,8 +207,6 @@ namespace p25
uint32_t m_aveRSSI;
uint32_t m_rssiCount;
bool m_writeImmediate; // This is essentially a "latch" that will auto-reset after a writeRF_Queue() call.
bool m_verbose;
bool m_debug;

@ -283,7 +283,6 @@ bool Data::process(uint8_t* data, uint32_t len)
(m_pduUserData[10U] << 8) + m_pduUserData[11U];
if (m_rfDataHeader.getAckNeeded()) {
m_p25->m_writeImmediate = true;
writeRF_PDU_Ack_Response(PDU_ACK_CLASS_ACK, PDU_ACK_TYPE_ACK, llId);
}
@ -302,7 +301,6 @@ bool Data::process(uint8_t* data, uint32_t len)
uint32_t llId = (m_pduUserData[1U] << 16) + (m_pduUserData[2U] << 8) + m_pduUserData[3U];
if (m_rfDataHeader.getAckNeeded()) {
m_p25->m_writeImmediate = true;
writeRF_PDU_Ack_Response(PDU_ACK_CLASS_ACK, PDU_ACK_TYPE_ACK, llId);
}
@ -573,7 +571,6 @@ void Data::clock(uint32_t ms)
uint32_t llId = *it;
uint64_t ipAddr = m_connQueueTable[llId];
m_p25->m_writeImmediate = true;
if (!acl::AccessControl::validateSrcId(llId)) {
LogWarning(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_RSP_DENY (Registration Response Deny), llId = %u, ipAddr = %s", llId, __IP_FROM_ULONG(ipAddr).c_str());
writeRF_PDU_Reg_Response(PDU_REG_TYPE_RSP_DENY, llId, ipAddr);

@ -1514,6 +1514,9 @@ void Trunk::writeRF_TDULC_ChanRelease(bool grp, uint32_t srcId, uint32_t dstId)
}
uint32_t count = m_p25->m_hangCount / 2;
if (m_p25->m_voiceOnControl) {
count = count / 2;
}
std::unique_ptr<lc::TDULC> lc = nullptr;
if (m_p25->m_control) {
@ -2205,8 +2208,7 @@ bool Trunk::writeRF_TSDU_Grant(uint32_t srcId, uint32_t dstId, uint8_t serviceOp
}
// transmit group grant
// m_p25->m_writeImmediate = true;
writeRF_TSDU_SBF(iosp.get(), false, true, net);
writeRF_TSDU_SBF(iosp.get(), false);//, true, net);
}
else {
if (!net) {
@ -2227,8 +2229,7 @@ bool Trunk::writeRF_TSDU_Grant(uint32_t srcId, uint32_t dstId, uint8_t serviceOp
}
// transmit private grant
// m_p25->m_writeImmediate = true;
writeRF_TSDU_SBF(iosp.get(), false, true, net);
writeRF_TSDU_SBF(iosp.get(), false);//, true, net);
}
}

Loading…
Cancel
Save

Powered by TurnKey Linux.