APRSIS delay / skip percentage is now configurable on the client (not exposed to user though)
This commit is contained in:
parent
7fa2f355d3
commit
defc99c274
@ -301,7 +301,7 @@ void APRSISClient::processQueue(bool disconnect){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// random delay 25% of the time for throttling (a skip will add 60 seconds to the processing time)
|
// random delay 25% of the time for throttling (a skip will add 60 seconds to the processing time)
|
||||||
if(qrand() % 100 <= 25){
|
if(m_skipPercent > 0 && qrand() % 100 <= int(m_skipPercent*100)){
|
||||||
qDebug() << "APRSISClient Throttle: Skipping Frame";
|
qDebug() << "APRSISClient Throttle: Skipping Frame";
|
||||||
delayed.enqueue(m_frameQueue.dequeue());
|
delayed.enqueue(m_frameQueue.dequeue());
|
||||||
continue;
|
continue;
|
||||||
|
@ -27,6 +27,10 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
void setSkipPercent(float skipPercent){
|
||||||
|
m_skipPercent = skipPercent;
|
||||||
|
}
|
||||||
|
|
||||||
void setServer(QString host, quint16 port){
|
void setServer(QString host, quint16 port){
|
||||||
if(state() == QTcpSocket::ConnectedState){
|
if(state() == QTcpSocket::ConnectedState){
|
||||||
disconnectFromHost();
|
disconnectFromHost();
|
||||||
@ -65,6 +69,7 @@ private:
|
|||||||
quint16 m_port;
|
quint16 m_port;
|
||||||
QTimer m_timer;
|
QTimer m_timer;
|
||||||
bool m_paused;
|
bool m_paused;
|
||||||
|
float m_skipPercent;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // APRSISCLIENT_H
|
#endif // APRSISCLIENT_H
|
||||||
|
@ -504,6 +504,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
connect (this, &MainWindow::aprsClientSetLocalStation, m_aprsClient, &APRSISClient::setLocalStation);
|
connect (this, &MainWindow::aprsClientSetLocalStation, m_aprsClient, &APRSISClient::setLocalStation);
|
||||||
connect (this, &MainWindow::aprsClientSetPaused, m_aprsClient, &APRSISClient::setPaused);
|
connect (this, &MainWindow::aprsClientSetPaused, m_aprsClient, &APRSISClient::setPaused);
|
||||||
connect (this, &MainWindow::aprsClientSetServer, m_aprsClient, &APRSISClient::setServer);
|
connect (this, &MainWindow::aprsClientSetServer, m_aprsClient, &APRSISClient::setServer);
|
||||||
|
connect (this, &MainWindow::aprsClientSetSkipPercent, m_aprsClient, &APRSISClient::setSkipPercent);
|
||||||
connect (&m_networkThread, &QThread::finished, m_aprsClient, &QObject::deleteLater);
|
connect (&m_networkThread, &QThread::finished, m_aprsClient, &QObject::deleteLater);
|
||||||
|
|
||||||
// hook up sound output stream slots & signals and disposal
|
// hook up sound output stream slots & signals and disposal
|
||||||
@ -3207,6 +3208,7 @@ void MainWindow::prepareSpotting(){
|
|||||||
spotSetLocal();
|
spotSetLocal();
|
||||||
pskSetLocal();
|
pskSetLocal();
|
||||||
aprsSetLocal();
|
aprsSetLocal();
|
||||||
|
emit aprsClientSetSkipPercent(0.25);
|
||||||
emit aprsClientSetServer(m_config.aprs_server_name(), m_config.aprs_server_port());
|
emit aprsClientSetServer(m_config.aprs_server_name(), m_config.aprs_server_port());
|
||||||
emit aprsClientSetPaused(false);
|
emit aprsClientSetPaused(false);
|
||||||
ui->spotButton->setChecked(true);
|
ui->spotButton->setChecked(true);
|
||||||
|
@ -448,6 +448,7 @@ private:
|
|||||||
|
|
||||||
Q_SIGNAL void aprsClientEnqueueSpot(QString by_call, QString from_call, QString grid, QString comment);
|
Q_SIGNAL void aprsClientEnqueueSpot(QString by_call, QString from_call, QString grid, QString comment);
|
||||||
Q_SIGNAL void aprsClientEnqueueThirdParty(QString by_call, QString from_call, QString text);
|
Q_SIGNAL void aprsClientEnqueueThirdParty(QString by_call, QString from_call, QString text);
|
||||||
|
Q_SIGNAL void aprsClientSetSkipPercent(float skipPercent);
|
||||||
Q_SIGNAL void aprsClientSetServer(QString host, quint16 port);
|
Q_SIGNAL void aprsClientSetServer(QString host, quint16 port);
|
||||||
Q_SIGNAL void aprsClientSetPaused(bool paused);
|
Q_SIGNAL void aprsClientSetPaused(bool paused);
|
||||||
Q_SIGNAL void aprsClientSetLocalStation(QString mycall, QString passcode);
|
Q_SIGNAL void aprsClientSetLocalStation(QString mycall, QString passcode);
|
||||||
|
Loading…
Reference in New Issue
Block a user