Botcraft 1.21.4
Loading...
Searching...
No Matches
Botcraft::LastSeenMessagesTracker Class Reference

#include <LastSeenMessagesTracker.hpp>

Public Member Functions

 LastSeenMessagesTracker ()
 
 ~LastSeenMessagesTracker ()
 
std::mutex & GetMutex ()
 
std::pair< std::vector< std::vector< unsigned char > >, ProtocolCraft::LastSeenMessagesUpdateGetLastSeenMessagesUpdate ()
 Get both a vector of previous messages signatures and the LastSeenMessagesUpdate object.
 
void AddSeenMessage (const std::vector< unsigned char > &signature)
 
int GetOffset () const
 
int GetAndResetOffset ()
 

Private Attributes

std::mutex mutex
 
std::array< std::vector< unsigned char >, 20 > last_seen_signatures
 Circular buffer to store previously seen message signatures.
 
size_t tail
 
int offset
 

Detailed Description

Definition at line 19 of file LastSeenMessagesTracker.hpp.

Constructor & Destructor Documentation

◆ LastSeenMessagesTracker()

Botcraft::LastSeenMessagesTracker::LastSeenMessagesTracker ( )

Definition at line 7 of file LastSeenMessagesTracker.cpp.

References offset, and tail.

◆ ~LastSeenMessagesTracker()

Botcraft::LastSeenMessagesTracker::~LastSeenMessagesTracker ( )

Definition at line 15 of file LastSeenMessagesTracker.cpp.

Member Function Documentation

◆ AddSeenMessage()

void Botcraft::LastSeenMessagesTracker::AddSeenMessage ( const std::vector< unsigned char > &  signature)

Definition at line 98 of file LastSeenMessagesTracker.cpp.

References last_seen_signatures, offset, and tail.

Referenced by Botcraft::NetworkManager::Handle().

◆ GetAndResetOffset()

int Botcraft::LastSeenMessagesTracker::GetAndResetOffset ( )

Definition at line 110 of file LastSeenMessagesTracker.cpp.

References offset.

Referenced by GetLastSeenMessagesUpdate(), and Botcraft::NetworkManager::Handle().

◆ GetLastSeenMessagesUpdate()

std::pair< std::vector< std::vector< unsigned char > >, ProtocolCraft::LastSeenMessagesUpdate > Botcraft::LastSeenMessagesTracker::GetLastSeenMessagesUpdate ( )

Get both a vector of previous messages signatures and the LastSeenMessagesUpdate object.

Returns
A pair with both items

Definition at line 75 of file LastSeenMessagesTracker.cpp.

References GetAndResetOffset(), last_seen_signatures, mutex, and tail.

Referenced by Botcraft::NetworkManager::SendChatCommand(), and Botcraft::NetworkManager::SendChatMessage().

◆ GetMutex()

std::mutex & Botcraft::LastSeenMessagesTracker::GetMutex ( )

◆ GetOffset()

int Botcraft::LastSeenMessagesTracker::GetOffset ( ) const

Definition at line 105 of file LastSeenMessagesTracker.cpp.

References offset.

Referenced by Botcraft::NetworkManager::Handle().

Member Data Documentation

◆ last_seen_signatures

std::array<std::vector<unsigned char>, 20> Botcraft::LastSeenMessagesTracker::last_seen_signatures
private

Circular buffer to store previously seen message signatures.

Definition at line 52 of file LastSeenMessagesTracker.hpp.

Referenced by AddSeenMessage(), and GetLastSeenMessagesUpdate().

◆ mutex

std::mutex Botcraft::LastSeenMessagesTracker::mutex
private

Definition at line 46 of file LastSeenMessagesTracker.hpp.

Referenced by GetLastSeenMessagesUpdate(), and GetMutex().

◆ offset

int Botcraft::LastSeenMessagesTracker::offset
private

◆ tail

size_t Botcraft::LastSeenMessagesTracker::tail
private

The documentation for this class was generated from the following files: