10#ifndef NETWORK_SURVEY_H
11#define NETWORK_SURVEY_H
13#include <condition_variable>
23 void OnReceiveData(std::unique_ptr<
char[]> data,
size_t length)
override;
Socket handler for the survey connection.
void OnFailure() override
An error has occurred and the connection has been closed.
bool IsCancelled() const override
Check if there is a request to cancel the transfer.
std::atomic< bool > transmitted
Whether the survey has been transmitted.
std::condition_variable transmitted_cv
Condition variable to inform changes to transmitted.
static constexpr bool IsSurveyPossible()
Check whether a survey is possible.
void OnReceiveData(std::unique_ptr< char[]> data, size_t length) override
We're receiving data.
Reason
Reason why the survey data is being sent.
@ Preview
User is previewing the survey result.
@ Leave
User is leaving the game (but not exiting the application).
@ Exit
User is exiting the application.
std::mutex mutex
Mutex for the condition variable.
std::string CreatePayload(Reason reason, bool for_preview=false)
Create the payload for the survey.
void Transmit(Reason reason, bool blocking=false)
Transmit the survey.
Basic functions to send and receive HTTP packets.
NetworkSurveyHandler _survey
The handler for sending surveys for statistics.
Callback for when the HTTP handler has something to tell us.