// JRTPLIB 3.11.1, file path : JRTPLIB / src / rtptcptransmitter.cpp, line 292 - 317
// RTPSession::DeleteDestination(RTPTCPAddress(sock_with_no_data_readable))
// manually delete the fd with no data readable from the m_destSockets queue lead to sys cpu reduce to low rate!
// from line 280 - 324, JRTPLIB / src / rtptcptransmitter.cpp
std::map<SocketType, SocketData>::iterator it = m_destSockets.begin();
std::map<SocketType, SocketData>::iterator end = m_destSockets.end();
status = PollSocket(sock, it->second);
Я надеюсь найти лучшее решение, которое снизит загрузку процессора!
Зачем перебирать все fd вместо fd с данными, читаемыми?Использование стратегии "traverse all fd" приведет к следующим проблемам.Когда в очереди m_destSockets находится большое количество файловых данных, которые не читаются, частота загрузки sys-процессора достигает 100%.