Downgraded non-user thread errors to warnings

checksum-failure-logging
EricLiu2000 2019-07-24 13:22:17 -04:00
parent 6f8d307850
commit 66126b2b61
7 changed files with 27 additions and 0 deletions

View File

@ -143,6 +143,8 @@ std::shared_ptr<Message> Communication::waitForMessageSync(std::shared_ptr<Messa
void Communication::readTask() {
std::vector<uint8_t> readBytes;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
readBytes.clear();
if(impl->readWait(readBytes)) {
@ -163,4 +165,6 @@ void Communication::readTask() {
}
}
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}

View File

@ -29,6 +29,8 @@ void MultiChannelCommunication::readTask() {
std::vector<uint8_t> readBytes;
std::vector<uint8_t> payloadBytes;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
if(readMore) {
readBytes.clear();
@ -124,4 +126,5 @@ void MultiChannelCommunication::readTask() {
}
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}

View File

@ -178,15 +178,18 @@ bool FTDI::FTDIContext::closeDevice() {
void FTDI::readTask() {
constexpr size_t READ_BUFFER_SIZE = 8;
uint8_t readbuf[READ_BUFFER_SIZE];
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto readBytes = ftdi.read(readbuf, READ_BUFFER_SIZE);
if(readBytes > 0)
readQueue.enqueue_bulk(readbuf, readBytes);
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void FTDI::writeTask() {
WriteOperation writeOp;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
if(!writeQueue.wait_dequeue_timed(writeOp, std::chrono::milliseconds(100)))
continue;
@ -194,4 +197,5 @@ void FTDI::writeTask() {
ftdi.write(writeOp.bytes.data(), (int)writeOp.bytes.size());
onWrite();
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}

View File

@ -233,6 +233,7 @@ bool PCAP::close() {
void PCAP::readTask() {
struct pcap_pkthdr* header;
const uint8_t* data;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto readBytes = pcap_next_ex(interface.fp, &header, &data);
if(readBytes < 0) {
@ -256,12 +257,14 @@ void PCAP::readTask() {
readQueue.enqueue_bulk(packet.payload.data(), packet.payload.size());
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void PCAP::writeTask() {
WriteOperation writeOp;
uint16_t sequence = 0;
EthernetPacket sendPacket;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
// Set MAC address of packet
memcpy(sendPacket.srcMAC, interface.macAddress, sizeof(sendPacket.srcMAC));
@ -278,6 +281,7 @@ void PCAP::writeTask() {
pcap_sendpacket(interface.fp, bs.data(), (int)bs.size());
// TODO Handle packet send errors
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
PCAP::EthernetPacket::EthernetPacket(const std::vector<uint8_t>& bytestream) {

View File

@ -287,15 +287,18 @@ bool STM32::close() {
void STM32::readTask() {
constexpr size_t READ_BUFFER_SIZE = 8;
uint8_t readbuf[READ_BUFFER_SIZE];
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto bytesRead = ::read(fd, readbuf, READ_BUFFER_SIZE);
if(bytesRead > 0)
readQueue.enqueue_bulk(readbuf, bytesRead);
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void STM32::writeTask() {
WriteOperation writeOp;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
if(!writeQueue.wait_dequeue_timed(writeOp, std::chrono::milliseconds(100)))
continue;
@ -306,4 +309,5 @@ void STM32::writeTask() {
report(APIEvent::Type::FailedToWrite, APIEvent::Severity::Error);
onWrite();
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}

View File

@ -252,6 +252,7 @@ bool PCAP::close() {
void PCAP::readTask() {
struct pcap_pkthdr* header;
const uint8_t* data;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto readBytes = pcap.next_ex(interface.fp, &header, &data);
if(readBytes < 0) {
@ -275,12 +276,14 @@ void PCAP::readTask() {
readQueue.enqueue_bulk(packet.payload.data(), packet.payload.size());
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void PCAP::writeTask() {
WriteOperation writeOp;
uint16_t sequence = 0;
EthernetPacket sendPacket;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
// Set MAC address of packet
memcpy(sendPacket.srcMAC, interface.macAddress, sizeof(sendPacket.srcMAC));
@ -298,6 +301,7 @@ void PCAP::writeTask() {
onWrite();
// TODO Handle packet send errors
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
PCAP::EthernetPacket::EthernetPacket(const std::vector<uint8_t>& bytestream) {

View File

@ -345,6 +345,7 @@ void VCP::readTask() {
uint8_t readbuf[READ_BUFFER_SIZE];
IOTaskState state = LAUNCH;
DWORD bytesRead = 0;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
switch(state) {
case LAUNCH: {
@ -384,12 +385,14 @@ void VCP::readTask() {
}
}
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void VCP::writeTask() {
IOTaskState state = LAUNCH;
VCP::WriteOperation writeOp;
DWORD bytesWritten = 0;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
switch(state) {
case LAUNCH: {
@ -425,4 +428,5 @@ void VCP::writeTask() {
}
}
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}