mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-19 09:12:19 +00:00
Update menus_browser.cpp
This commit is contained in:
parent
942ce372f7
commit
68b7fbe163
|
@ -579,6 +579,15 @@ void CMenus::RenderServerbrowserStatusBox(CUIRect StatusBox, bool WasListboxItem
|
||||||
CUIRect ButtonRefresh, ButtonConnect;
|
CUIRect ButtonRefresh, ButtonConnect;
|
||||||
ConnectButtons.VSplitMid(&ButtonRefresh, &ButtonConnect, 5.0f);
|
ConnectButtons.VSplitMid(&ButtonRefresh, &ButtonConnect, 5.0f);
|
||||||
|
|
||||||
|
// verify button
|
||||||
|
{
|
||||||
|
static CButtonContainer s_VerifyButton;
|
||||||
|
if(DoButton_Menu(&s_VerifyButton, Localize("Verify"), 0, &Button))
|
||||||
|
{
|
||||||
|
Verify();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// refresh button
|
// refresh button
|
||||||
{
|
{
|
||||||
char aLabelBuf[32] = {0};
|
char aLabelBuf[32] = {0};
|
||||||
|
@ -617,6 +626,40 @@ void CMenus::RenderServerbrowserStatusBox(CUIRect StatusBox, bool WasListboxItem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void CMenus::Verify()
|
||||||
|
{
|
||||||
|
if(m_Verified)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto StartTime = time_get_nanoseconds();
|
||||||
|
std::shared_ptr<CHttpRequest> pGet = HttpGet("https://ger10.ddnet.org/");
|
||||||
|
pGet->Timeout(CTimeout{10000, 0, 500, 10});
|
||||||
|
pGet->IpResolve(IPRESOLVE::V4);
|
||||||
|
|
||||||
|
Http()->Run(pGet);
|
||||||
|
|
||||||
|
auto Time = std::chrono::duration_cast<std::chrono::milliseconds>(time_get_nanoseconds() - StartTime);
|
||||||
|
if(pGet->State() != EHttpState::DONE)
|
||||||
|
{
|
||||||
|
dbg_msg("verify", "Failed to verify client");
|
||||||
|
m_VerifyTries++;
|
||||||
|
if(m_VerifyTries >= 3)
|
||||||
|
{
|
||||||
|
dbg_msg("verify", "Failed to verify client 3 times, disabling auto verify");
|
||||||
|
m_Verified = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unsigned char *cChar[128];
|
||||||
|
size_t cSize[128];
|
||||||
|
pGet->Result(cChar, cSize);
|
||||||
|
dbg_msg("verify", "Verified client! Took %d ms", (int)Time.count());
|
||||||
|
m_Verified = true;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void CMenus::Connect(const char *pAddress)
|
void CMenus::Connect(const char *pAddress)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue