3#ifndef ENGINE_SHARED_SNAPSHOT_H
4#define ENGINE_SHARED_SNAPSHOT_H
16 int *
Data() {
return (
int *)(
this + 1); }
21 const int *
Data()
const {
return (
int *)(
this + 1); }
33 int *
Offsets()
const {
return (
int *)(
this + 1); }
60 const void *
FindItem(
int Type,
int Id)
const;
62 rust::Slice<const int32_t>
AsSlice()
const;
69 bool IsValid(
size_t ActualSize)
const;
114 void PurgeUntil(
int Tick);
115 void Add(
int Tick, int64_t Tagtime,
size_t DataSize,
const void *pData,
size_t AltDataSize,
const void *pAltData);
116 int Get(
int Tick, int64_t *pTagtime,
const CSnapshot **ppData,
const CSnapshot **ppAltData)
const;
119#include <engine/shared/snapshot/builder.h>
120#include <engine/shared/snapshot/delta.h>
rust::Slice< int32_t > AsMutSlice()
Definition snapshot.h:81
const CSnapshot * AsSnapshot() const
Definition snapshot.h:80
CSnapshot * AsSnapshot()
Definition snapshot.h:79
unsigned char m_aData[CSnapshot::MAX_SIZE]
Definition snapshot.h:77
void Invalidate()
Definition snapshot.h:25
int Id() const
Definition snapshot.h:23
int m_TypeAndId
Definition snapshot.h:19
const int * Data() const
Definition snapshot.h:21
int InternalType() const
Definition snapshot.h:22
int Key() const
Definition snapshot.h:24
int * Data()
Definition snapshot.h:16
int m_Tick
Definition snapshot.h:98
int m_SnapSize
Definition snapshot.h:100
int m_AltSnapSize
Definition snapshot.h:101
CHolder * m_pPrev
Definition snapshot.h:94
CHolder * m_pNext
Definition snapshot.h:95
CSnapshot * m_pAltSnap
Definition snapshot.h:104
int64_t m_Tagtime
Definition snapshot.h:97
CSnapshot * m_pSnap
Definition snapshot.h:103
~CSnapshotStorage()
Definition snapshot.h:111
CSnapshotStorage()
Definition snapshot.h:110
void PurgeAll()
Definition snapshot.cpp:186
void Init()
Definition snapshot.cpp:180
CHolder * m_pLast
Definition snapshot.h:108
CHolder * m_pFirst
Definition snapshot.h:107
int GetExternalItemType(int InternalType) const
Definition snapshot.cpp:42
static const CSnapshot * EmptySnapshot()
Definition snapshot.h:71
int * Offsets() const
Definition snapshot.h:33
const CSnapshotItem * GetItem(int Index) const
Definition snapshot.cpp:22
size_t TotalSize() const
Definition snapshot.h:37
char * DataStart() const
Definition snapshot.h:34
int m_NumItems
Definition snapshot.h:31
const void * FindItem(int Type, int Id) const
Definition snapshot.cpp:78
int GetItemIndex(int Key) const
Definition snapshot.cpp:62
@ MAX_ID
Definition snapshot.h:46
@ MAX_ITEMS
Definition snapshot.h:47
@ MAX_SIZE
Definition snapshot.h:49
@ MAX_TYPE
Definition snapshot.h:45
@ MAX_PARTS
Definition snapshot.h:48
@ OFFSET_UUID_TYPE
Definition snapshot.h:44
int DataSize() const
Definition snapshot.h:53
rust::Slice< const int32_t > AsSlice() const
Definition snapshot.cpp:111
int GetItemType(int Index) const
Definition snapshot.cpp:36
void InvalidateItem(int Index)
Definition snapshot.cpp:73
void DebugDump() const
Definition snapshot.cpp:131
unsigned Crc() const
Definition snapshot.cpp:116
size_t OffsetSize() const
Definition snapshot.h:36
bool IsValid(size_t ActualSize) const
Definition snapshot.cpp:144
int m_DataSize
Definition snapshot.h:30
int NumItems() const
Definition snapshot.h:52
static const CSnapshot ms_EmptySnapshot
Definition snapshot.h:39
int GetItemSize(int Index) const
Definition snapshot.cpp:29
std::unique_ptr< CSnapshotBuffer > CSnapshotBuffer_New()
Definition snapshot.cpp:173