Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-22 14:04:28 +01:00
parent 81b91f4139
commit f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions

View file

@ -0,0 +1,45 @@
/*
* This is the source code of tgnet library v. 1.1
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2015-2018.
*/
#ifndef CONNECTIONSESSION_H
#define CONNECTIONSESSION_H
#include <stdint.h>
#include <vector>
#include "Defines.h"
class ConnectionSession {
public:
ConnectionSession(int32_t instance);
void recreateSession();
void genereateNewSessionId();
void setSessionId(int64_t id);
int64_t getSessionId();
uint32_t generateMessageSeqNo(bool increment);
int32_t isMessageIdProcessed(int64_t messageId);
void addProcessedMessageId(int64_t messageId);
bool hasMessagesToConfirm();
void addMessageToConfirm(int64_t messageId);
NetworkMessage *generateConfirmationRequest();
bool isSessionProcessed(int64_t sessionId);
void addProcessedSession(int64_t sessionId);
private:
int32_t instanceNum;
int64_t sessionId;
uint32_t nextSeqNo = 0;
int64_t minProcessedMessageId = 0;
std::vector<int64_t> processedMessageIds;
std::vector<int64_t> messagesIdsForConfirmation;
std::vector<int64_t> processedSessionChanges;
};
#endif