void ResetPassiveTime() { passiveTime = 0; }
void SetPassiveTimeAsNewUser();
- void ResetDetailStat();
- int SwapDetailStat();
- int WriteDetailStat();
+ int WriteDetailStat(bool hard = false);
const TARIFF * GetTariff() const { return tariff; }
void ResetNextTariff() { nextTariff = ""; }
void Disconnect(bool fakeDisconnect, const std::string & reason);
int SaveMonthStat(int month, int year);
- int SendMessage(const STG_MSG & msg);
- int RemoveMessage(uint64_t) { return 0; }
- int ScanMessage();
+ int SendMessage(STG_MSG & msg) const;
+ void ScanMessage();
time_t lastScanMessages;
string login;
const TARIFFS * tariffs;
const TARIFF * tariff;
- map<IP_DIR_PAIR, STAT_NODE> traffStatInternal[2];
- map<IP_DIR_PAIR, STAT_NODE> * traffStat;
- map<IP_DIR_PAIR, STAT_NODE> * traffStatToWrite;
- int traffStatInUse;
+ TRAFF_STAT traffStat;
+ std::pair<time_t, TRAFF_STAT> traffStatSaved;
const SETTINGS * settings;
const map<uint32_t, user_iter> * ipIndex;
+ list<STG_MSG> messages;
+
bool deleted;
time_t lastWriteStat; // ÷ÒÅÍÑ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ ÓÔÁÔÉÓÔÉËÉ
time_t lastWriteDeatiledStat; // ÷ÒÅÍÑ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ ÄÅÔÁÌØÎÏÊ ÓÔÁÔÉÓÔÉËÉ
- time_t lastSwapDeatiledStat; // ÷ÒÅÍÑ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ ÄÅÔÁÌØÎÏÊ ÓÔÁÔÉÓÔÉËÉ
-
- bool writeFreeMbTraffCost;
// Properties
USER_PROPERTY<double> & cash;