#include <C4Network2Res.h>
Classes | |
struct | ChunkRange |
Public Member Functions | |
C4Network2ResChunkData () | |
C4Network2ResChunkData (const C4Network2ResChunkData &Data2) | |
~C4Network2ResChunkData () override | |
C4Network2ResChunkData & | operator= (const C4Network2ResChunkData &Data2) |
int32_t | getChunkCnt () const |
int32_t | getPresentChunkCnt () const |
int32_t | getPresentPercent () const |
bool | isComplete () const |
void | SetIncomplete (int32_t iChunkCnt) |
void | SetComplete (int32_t iChunkCnt) |
void | AddChunk (int32_t iChunk) |
void | AddChunkRange (int32_t iStart, int32_t iLength) |
void | Merge (const C4Network2ResChunkData &Data2) |
void | Clear () |
int32_t | GetChunkToRetrieve (const C4Network2ResChunkData &Available, int32_t iLoadingCnt, int32_t *pLoading) const |
void | CompileFunc (StdCompiler *pComp) override |
C4NetIOPacket | pack (const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const |
C4NetIOPacket | pack (uint8_t cStatus, const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const |
void | unpack (const C4NetIOPacket &Pkt, char *pStatus=nullptr) |
Protected Member Functions | |
bool | MergeRanges (ChunkRange *pRange) |
void | GetNegative (C4Network2ResChunkData &Target) const |
int32_t | getPresentChunk (int32_t iNr) const |
Protected Attributes | |
int32_t | iChunkCnt {0} |
int32_t | iPresentChunkCnt {0} |
ChunkRange * | pChunkRanges {nullptr} |
int32_t | iChunkRangeCnt {0} |
Definition at line 135 of file C4Network2Res.h.
struct C4Network2ResChunkData::ChunkRange |
Definition at line 147 of file C4Network2Res.h.
Class Members | ||
---|---|---|
int32_t | Length | |
ChunkRange * | Next | |
int32_t | Start |
|
default |
C4Network2ResChunkData::C4Network2ResChunkData | ( | const C4Network2ResChunkData & | Data2 | ) |
Definition at line 148 of file C4Network2Res.cpp.
References Merge().
|
override |
Definition at line 156 of file C4Network2Res.cpp.
References Clear().
void C4Network2ResChunkData::AddChunk | ( | int32_t | iChunk | ) |
Definition at line 188 of file C4Network2Res.cpp.
References AddChunkRange().
Referenced by C4Network2ResChunk::AddTo(), and GetChunkToRetrieve().
void C4Network2ResChunkData::AddChunkRange | ( | int32_t | iStart, |
int32_t | iLength | ||
) |
Definition at line 193 of file C4Network2Res.cpp.
References iChunkCnt, iChunkRangeCnt, iPresentChunkCnt, C4Network2ResChunkData::ChunkRange::Length, MergeRanges(), C4Network2ResChunkData::ChunkRange::Next, pChunkRanges, and C4Network2ResChunkData::ChunkRange::Start.
Referenced by AddChunk(), GetNegative(), and Merge().
void C4Network2ResChunkData::Clear | ( | ) |
Definition at line 226 of file C4Network2Res.cpp.
References iChunkCnt, iChunkRangeCnt, iPresentChunkCnt, C4Network2ResChunkData::ChunkRange::Next, and pChunkRanges.
Referenced by C4Network2Res::Clear(), CompileFunc(), SetComplete(), SetIncomplete(), and ~C4Network2ResChunkData().
|
overridevirtual |
Implements C4PacketBase.
Definition at line 305 of file C4Network2Res.cpp.
References Clear(), StdCompiler::excCorrupt(), iChunkCnt, iChunkRangeCnt, StdCompiler::isDeserializer(), C4Network2ResChunkData::ChunkRange::Length, mkIntPackAdapt(), mkNamingAdapt(), StdCompiler::Name(), StdCompiler::NameEnd(), C4Network2ResChunkData::ChunkRange::Next, pChunkRanges, StdCompiler::SEP_PART2, StdCompiler::Separator(), C4Network2ResChunkData::ChunkRange::Start, and StdCompiler::Value().
|
inline |
Definition at line 152 of file C4Network2Res.h.
References iChunkCnt.
Referenced by Merge(), C4Network2Res::OnStatus(), and operator=().
int32_t C4Network2ResChunkData::GetChunkToRetrieve | ( | const C4Network2ResChunkData & | Available, |
int32_t | iLoadingCnt, | ||
int32_t * | pLoading | ||
) | const |
Definition at line 238 of file C4Network2Res.cpp.
References AddChunk(), GetNegative(), getPresentChunk(), getPresentChunkCnt(), isComplete(), Merge(), and UnsyncedRandom().
Referenced by C4Network2Res::StartLoad().
|
protected |
Definition at line 278 of file C4Network2Res.cpp.
References AddChunkRange(), iChunkCnt, C4Network2ResChunkData::ChunkRange::Next, pChunkRanges, and SetIncomplete().
Referenced by GetChunkToRetrieve().
|
protected |
Definition at line 295 of file C4Network2Res.cpp.
References C4Network2ResChunkData::ChunkRange::Next, and pChunkRanges.
Referenced by GetChunkToRetrieve().
|
inline |
Definition at line 153 of file C4Network2Res.h.
References iPresentChunkCnt.
Referenced by GetChunkToRetrieve().
|
inline |
Definition at line 154 of file C4Network2Res.h.
References iChunkCnt, and iPresentChunkCnt.
Referenced by C4Network2Res::getPresentPercent().
|
inline |
Definition at line 155 of file C4Network2Res.h.
References iChunkCnt, and iPresentChunkCnt.
Referenced by GetChunkToRetrieve(), and C4Network2Res::OnChunk().
void C4Network2ResChunkData::Merge | ( | const C4Network2ResChunkData & | Data2 | ) |
Definition at line 217 of file C4Network2Res.cpp.
References AddChunkRange(), getChunkCnt(), iChunkCnt, C4Network2ResChunkData::ChunkRange::Next, and pChunkRanges.
Referenced by C4Network2ResChunkData(), GetChunkToRetrieve(), and operator=().
|
protected |
Definition at line 258 of file C4Network2Res.cpp.
References iChunkRangeCnt, iPresentChunkCnt, C4Network2ResChunkData::ChunkRange::Length, C4Network2ResChunkData::ChunkRange::Next, and C4Network2ResChunkData::ChunkRange::Start.
Referenced by AddChunkRange().
C4Network2ResChunkData & C4Network2ResChunkData::operator= | ( | const C4Network2ResChunkData & | Data2 | ) |
Definition at line 161 of file C4Network2Res.cpp.
References getChunkCnt(), Merge(), and SetIncomplete().
|
inherited |
Definition at line 150 of file C4Packet2.cpp.
Referenced by MkC4NetIOPacket().
|
inherited |
Definition at line 155 of file C4Packet2.cpp.
References mkDecompileAdapt(), and mkInsertAdapt().
void C4Network2ResChunkData::SetComplete | ( | int32_t | iChunkCnt | ) |
Definition at line 176 of file C4Network2Res.cpp.
References Clear(), iChunkCnt, iPresentChunkCnt, C4Network2ResChunkData::ChunkRange::Length, C4Network2ResChunkData::ChunkRange::Next, pChunkRanges, and C4Network2ResChunkData::ChunkRange::Start.
Referenced by C4Network2Res::FinishDerive(), and C4Network2Res::GetStandalone().
void C4Network2ResChunkData::SetIncomplete | ( | int32_t | iChunkCnt | ) |
Definition at line 169 of file C4Network2Res.cpp.
References Clear(), and iChunkCnt.
Referenced by GetNegative(), operator=(), and C4Network2Res::SetLoad().
|
inherited |
Definition at line 160 of file C4Packet2.cpp.
References C4NetIOPacket::getPBuf(), C4NetIOPacket::getRef(), and C4NetIOPacket::getStatus().
Referenced by C4IDPacket::C4IDPacket(), and C4Network2IO::HandlePacket().
|
protected |
Definition at line 144 of file C4Network2Res.h.
Referenced by AddChunkRange(), Clear(), CompileFunc(), getChunkCnt(), GetNegative(), getPresentPercent(), isComplete(), Merge(), SetComplete(), and SetIncomplete().
|
protected |
Definition at line 149 of file C4Network2Res.h.
Referenced by AddChunkRange(), Clear(), CompileFunc(), and MergeRanges().
|
protected |
Definition at line 144 of file C4Network2Res.h.
Referenced by AddChunkRange(), Clear(), getPresentChunkCnt(), getPresentPercent(), isComplete(), MergeRanges(), and SetComplete().
|
protected |
Definition at line 148 of file C4Network2Res.h.
Referenced by AddChunkRange(), Clear(), CompileFunc(), GetNegative(), getPresentChunk(), Merge(), and SetComplete().