MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / handleTimeout

Method handleTimeout

app/src/IO/FileTransmission/ZMODEM.cpp:820–864  ·  view source on GitHub ↗

* @brief Handles timeout while waiting for receiver response. */

Source from the content-addressed store, hash-verified

818 * @brief Handles timeout while waiting for receiver response.
819 */
820void IO::Protocols::ZMODEM::handleTimeout()
821{
822 Q_ASSERT(m_maxRetries > 0);
823 Q_ASSERT(m_timeoutMs >= 1000);
824
825 if (!isActive())
826 return;
827
828 ++m_retryCount;
829 if (m_retryCount >= m_maxRetries) {
830 sendCancel();
831 m_state = State::Idle;
832 if (m_file.isOpen())
833 m_file.close();
834
835 Q_EMIT statusMessage(tr("Transfer timed out"));
836 Q_EMIT finished(false, tr("Timeout: no response from receiver"));
837 return;
838 }
839
840 Q_EMIT statusMessage(tr("Timeout, retrying (%1/%2)…")
841 .arg(QString::number(m_retryCount), QString::number(m_maxRetries)));
842
843 switch (m_state) {
844 case State::SentZRQINIT:
845 sendZRQINIT();
846 break;
847
848 case State::SentZFILE:
849 sendZFILE();
850 break;
851
852 case State::SentZEOF:
853 sendZEOF();
854 break;
855
856 case State::SentZFIN:
857 sendZFIN();
858 break;
859
860 default:
861 m_timeoutTimer.start(m_timeoutMs);
862 break;
863 }
864}

Callers

nothing calls this directly

Calls 3

isOpenMethod · 0.45
closeMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected