pull/32/head
Geoffrey Merck 4 years ago
parent 663dffdb19
commit 8d3c716c5f

@ -106,8 +106,8 @@ void * CTimeServerThread::Entry()
unsigned int hour = tm->tm_hour; unsigned int hour = tm->tm_hour;
unsigned int min = tm->tm_min; unsigned int min = tm->tm_min;
if (min != lastMin) // if (min != lastMin)
sendTime(15, 45); // sendTime(15, 45);
if (min != lastMin) { if (min != lastMin) {
if (m_interval == INTERVAL_15MINS && (min == 0U || min == 15U || min == 30U || min == 45U)) if (m_interval == INTERVAL_15MINS && (min == 0U || min == 15U || min == 30U || min == 45U))
@ -1339,7 +1339,7 @@ bool CTimeServerThread::send(const std::vector<std::string> &words, unsigned int
unsigned int out = 0U; unsigned int out = 0U;
auto start = std::chrono::high_resolution_clock::now(); auto start = std::chrono::high_resolution_clock::now();
for (;loop;) { while(loop) {
unsigned int needed = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - start).count(); unsigned int needed = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - start).count();
needed /= DSTAR_FRAME_TIME_MS; needed /= DSTAR_FRAME_TIME_MS;
@ -1368,74 +1368,9 @@ bool CTimeServerThread::send(const std::vector<std::string> &words, unsigned int
delete socket; delete socket;
} }
// bool res = true;
// for(auto rpt : m_repeaters) {
// res = sendToRepeater(header, rpt) && res;
// }
// std::vector<std::packaged_task<bool()> *> tasks;
// for(auto rpt : m_repeaters) {
// std::packaged_task<bool()> * task = new std::packaged_task<bool()>([header, rpt, this] { return sendToRepeater(header, rpt);} );
// std::thread t(std::move(*task));
// }
// bool res = true;
// for(auto task : tasks) {
// auto future = task->get_future();
// future.wait();
// res = future.get() && res;
// delete task;
// }
// for(unsigned int i = 0U; i < MAX_FRAMES; i++) {
// delete m_data[i];
// m_data[i] = nullptr;
// }
return true; return true;
} }
bool CTimeServerThread::sendToRepeater(const CHeaderData& h, const std::string& rptCall2)
{
CUDPReaderWriter socket("", 0U);
if(!socket.open())
return false;
auto id = CHeaderData::createId();
CHeaderData header(h);
header.setId(id);
header.setRptCall2(rptCall2);
sendHeader(socket, header);
bool loop = true;
unsigned int out = 0U;
auto start = std::chrono::high_resolution_clock::now();
for (;loop;) {
unsigned int needed = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - start).count();
needed /= DSTAR_FRAME_TIME_MS;
while (out < needed) {
CAMBEData data(*(m_data[out]));
out++;
data.setId(id);
sendData(socket, data);
if (m_in == out) {
loop = false;
break;
}
}
Sleep(10UL);
}
socket.close();
return true;
}
bool CTimeServerThread::sendHeader(CUDPReaderWriter& socket, const CHeaderData &header) bool CTimeServerThread::sendHeader(CUDPReaderWriter& socket, const CHeaderData &header)
{ {

@ -108,7 +108,6 @@ private:
bool send(const std::vector<std::string>& words, unsigned int hour, unsigned int min); bool send(const std::vector<std::string>& words, unsigned int hour, unsigned int min);
bool sendHeader(CUDPReaderWriter& socket, const CHeaderData& header); bool sendHeader(CUDPReaderWriter& socket, const CHeaderData& header);
bool sendData(CUDPReaderWriter& socket, const CAMBEData& data); bool sendData(CUDPReaderWriter& socket, const CAMBEData& data);
bool sendToRepeater(const CHeaderData& header, const std::string& rptCall2);
bool loadAMBE(); bool loadAMBE();
bool readAMBE(const std::string& dir, const std::string& name); bool readAMBE(const std::string& dir, const std::string& name);

Loading…
Cancel
Save

Powered by TurnKey Linux.