OpenClonk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
C4PacketPing Class Reference

#include <C4Network2IO.h>

Inheritance diagram for C4PacketPing:
[legend]
Collaboration diagram for C4PacketPing:
[legend]

Public Member Functions

 C4PacketPing (uint32_t iPacketCounter=0, uint32_t iRemotePacketCounter=0)
 
uint32_t getTravelTime () const
 
uint32_t getPacketCounter () const
 
virtual void CompileFunc (StdCompiler *pComp)
 
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 Attributes

C4TimeMilliseconds tTime
 
uint32_t iPacketCounter
 

Detailed Description

Definition at line 332 of file C4Network2IO.h.

Constructor & Destructor Documentation

C4PacketPing::C4PacketPing ( uint32_t  iPacketCounter = 0,
uint32_t  iRemotePacketCounter = 0 
)

Definition at line 513 of file C4Packet2.cpp.

516 {
517 }
uint32_t iPacketCounter
Definition: C4Network2IO.h:339
C4TimeMilliseconds tTime
Definition: C4Network2IO.h:338
static C4TimeMilliseconds Now()

Member Function Documentation

void C4PacketPing::CompileFunc ( StdCompiler pComp)
virtual

Implements C4PacketBase.

Definition at line 524 of file C4Packet2.cpp.

References C4TimeMilliseconds::AsInt(), iPacketCounter, mkNamingAdapt(), tTime, and StdCompiler::Value().

525 {
526  uint32_t time = tTime.AsInt();
527  pComp->Value(mkNamingAdapt(time, "Time", 0U));
528  tTime = C4TimeMilliseconds(time);
529 
530  pComp->Value(mkNamingAdapt(iPacketCounter, "PacketCounter", 0U));
531 }
uint32_t iPacketCounter
Definition: C4Network2IO.h:339
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
Definition: StdAdaptors.h:93
void Value(const T &rStruct)
Definition: StdCompiler.h:171
C4TimeMilliseconds tTime
Definition: C4Network2IO.h:338
uint32_t AsInt() const

Here is the call graph for this function:

uint32_t C4PacketPing::getPacketCounter ( ) const
inline

Definition at line 343 of file C4Network2IO.h.

References iPacketCounter.

343 { return iPacketCounter; }
uint32_t iPacketCounter
Definition: C4Network2IO.h:339
uint32_t C4PacketPing::getTravelTime ( ) const

Definition at line 519 of file C4Packet2.cpp.

References C4TimeMilliseconds::Now(), and tTime.

520 {
521  return C4TimeMilliseconds::Now() - tTime;
522 }
C4TimeMilliseconds tTime
Definition: C4Network2IO.h:338
static C4TimeMilliseconds Now()

Here is the call graph for this function:

C4NetIOPacket C4PacketBase::pack ( const C4NetIO::addr_t addr = C4NetIO::addr_t()) const
inherited

Definition at line 156 of file C4Packet2.cpp.

Referenced by MkC4NetIOPacket().

157 {
158  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(*this), addr);
159 }

Here is the caller graph for this function:

C4NetIOPacket C4PacketBase::pack ( uint8_t  cStatus,
const C4NetIO::addr_t addr = C4NetIO::addr_t() 
) const
inherited

Definition at line 161 of file C4Packet2.cpp.

References mkDecompileAdapt(), and mkInsertAdapt().

162 {
163  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(mkInsertAdapt(mkDecompileAdapt(*this), cStatus)), addr);
164 }
StdDecompileAdapt< T > mkDecompileAdapt(const T &rValue)
Definition: StdAdaptors.h:154
StdInsertAdapt< T, I > mkInsertAdapt(T &&rObj, I &&rIns, bool fBefore=true)
Definition: StdAdaptors.h:438

Here is the call graph for this function:

void C4PacketBase::unpack ( const C4NetIOPacket Pkt,
char *  pStatus = nullptr 
)
inherited

Definition at line 166 of file C4Packet2.cpp.

References C4NetIOPacket::getPBuf(), C4NetIOPacket::getRef(), and C4NetIOPacket::getStatus().

Referenced by C4IDPacket::C4IDPacket(), and C4Network2IO::HandlePacket().

167 {
168  if (pStatus) *pStatus = Pkt.getStatus();
169  CompileFromBuf<StdCompilerBinRead>(*this, pStatus ? Pkt.getPBuf() : Pkt.getRef());
170 }
StdBuf getPBuf() const
Definition: C4NetIO.h:321
C4NetIOPacket getRef() const
Definition: C4NetIO.h:324
uint8_t getStatus() const
Definition: C4NetIO.h:318

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

uint32_t C4PacketPing::iPacketCounter
protected

Definition at line 339 of file C4Network2IO.h.

Referenced by CompileFunc(), and getPacketCounter().

C4TimeMilliseconds C4PacketPing::tTime
protected

Definition at line 338 of file C4Network2IO.h.

Referenced by CompileFunc(), and getTravelTime().


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