| 62 | } |
| 63 | |
| 64 | void CStun::CProtocol::Update() |
| 65 | { |
| 66 | int64_t Now = time_get(); |
| 67 | if(m_NextTry == -1 || Now < m_NextTry || !m_HaveStunServer) |
| 68 | { |
| 69 | return; |
| 70 | } |
| 71 | m_NextTry = Now + RetryWaitSeconds(m_NumUnsuccessfulTries) * time_freq(); |
| 72 | m_NumUnsuccessfulTries += 1; |
| 73 | unsigned char aBuf[32]; |
| 74 | int Size = StunMessagePrepare(aBuf, sizeof(aBuf), &m_Stun); |
| 75 | if(net_udp_send(m_Socket, &m_StunServer, aBuf, Size) == -1) |
| 76 | { |
| 77 | log_debug(IndexToSystem(m_Index), "couldn't send stun request"); |
| 78 | return; |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | bool CStun::CProtocol::OnPacket(NETADDR Addr, unsigned char *pData, int DataSize) |
| 83 | { |
nothing calls this directly
no test coverage detected