PGE API 0.4
PR00F's Game Engine full documentation
Loading...
Searching...
No Matches
pge_network::PgePacket Struct Reference

PgePacket is the carrier of information over the network. More...

Detailed Description

PgePacket is the carrier of information over the network.

It always contains at least 1 message i.e. a pge_network struct starting with name Msg, since messages cannot be sent on their own over the network. Whenever we want to send data between server and clients, we put the message into a PgePacket instance and pass it to PgeIServerClient::send(), the receiver will be notified about the arrival of this PgePacket instance and can extract the message from it.

Definition at line 208 of file PgePacket.h.

#include <PgePacket.h>

Public Types

enum class  AutoFill { NONE , ZERO }
 

Static Public Member Functions

static PgePktIdgetPacketId (pge_network::PgePacket &pkt)
 
static const PgePktIdgetPacketId (const pge_network::PgePacket &pkt)
 
static PgeNetworkConnectionHandlegetServerSideConnectionHandle (pge_network::PgePacket &pkt)
 
static const PgeNetworkConnectionHandlegetServerSideConnectionHandle (const pge_network::PgePacket &pkt)
 
static MsgUserConnectedServerSelfgetMessageAsUserConnected (pge_network::PgePacket &pkt)
 
static const MsgUserConnectedServerSelfgetMessageAsUserConnected (const pge_network::PgePacket &pkt)
 
static MsgUserDisconnectedFromServergetMessageAsUserDisconnected (pge_network::PgePacket &pkt)
 
static const MsgUserDisconnectedFromServergetMessageAsUserDisconnected (const pge_network::PgePacket &pkt)
 
static MsgClientAppVersionFromClientgetMessageAsClientAppVersionFromClient (pge_network::PgePacket &pkt)
 
static const MsgClientAppVersionFromClientgetMessageAsClientAppVersionFromClient (const pge_network::PgePacket &pkt)
 
static const uint8_t & getMessageAppCount (const pge_network::PgePacket &pkt)
 
static const MsgAppArea::TAreaLengthgetMessageAppsTotalActualLengthBytes (const pge_network::PgePacket &pkt)
 
static bool isMessageAppAreaFull (const pge_network::PgePacket &pkt)
 
static const pge_network::MsgAppgetMsgAppFromPkt (const pge_network::PgePacket &pkt)
 
static pge_network::MsgAppPgePacket::getMsgAppFromPkt (pge_network::PgePacket &pkt)
 
static const pge_network::MsgApp::TMsgIdgetMsgAppIdFromPkt (const pge_network::PgePacket &pkt)
 
template<class MsgAppDataType >
static const MsgAppDataType & getMsgAppDataFromPkt (const pge_network::PgePacket &pkt)
 This convenient function is for the application: the custom application-defined message can be easily extracted from the packet.
 
template<class MsgAppDataType >
static MsgAppDataType & getMsgAppDataFromPkt (pge_network::PgePacket &pkt)
 This convenient function is for the application: the custom application-defined message can be easily extracted from the packet.
 
static bool initPktPgeMsgUserConnected (pge_network::PgePacket &pkt, const pge_network::PgeNetworkConnectionHandle &connHandleServerSide, bool bCurrentClient, const std::string &sIpAddress)
 
static void initPktPgeMsgUserDisconnected (PgePacket &pkt, const PgeNetworkConnectionHandle &connHandleServerSide)
 
static bool initPktPgeMsgClientAppVersionFromClient (pge_network::PgePacket &pkt, const std::string &sClientAppVersion)
 
static void initPktMsgApp (pge_network::PgePacket &pkt, const pge_network::PgeNetworkConnectionHandle &connHandleServerSide, const AutoFill &autoFill=AutoFill::ZERO)
 
static bool addPktMsgApp (pge_network::PgePacket &pkt, const pge_network::MsgApp &msgApp)
 
static TBytepreparePktMsgAppFill (pge_network::PgePacket &pkt, MsgApp::TMsgId msgAppId, MsgApp::TMsgSize nMsgAppDataSize)
 

Static Private Member Functions

static MsgAppAreagetMessageAppArea (pge_network::PgePacket &pkt)
 
static const MsgAppAreagetMessageAppArea (const pge_network::PgePacket &pkt)
 
static uint8_t & getMessageAppCount (pge_network::PgePacket &pkt)
 
static MsgAppArea::TAreaLengthgetMessageAppsTotalActualLengthBytes (pge_network::PgePacket &pkt)
 
static void initPktBasic (pge_network::PgePacket &pkt, const PgePktId &pktId, const pge_network::PgeNetworkConnectionHandle &connHandleServerSide, const AutoFill &autoFill)
 

Private Attributes

PgePktId m_pktId
 
PgeNetworkConnectionHandle m_connHandleServerSide
 
union { 
 
   MsgUserConnectedServerSelf   m_userConnected 
 
   MsgUserDisconnectedFromServer   m_userDisconnected 
 
   MsgClientAppVersionFromClient   m_clientAppVersionFromClient 
 
   MsgAppArea   m_app 
 
m_msg 
 

Friends

class PgePacketTest
 

Member Enumeration Documentation

◆ AutoFill

Enumerator
NONE 
ZERO 

Definition at line 213 of file PgePacket.h.

Member Function Documentation

◆ addPktMsgApp()

bool pge_network::PgePacket::addPktMsgApp ( pge_network::PgePacket & pkt,
const pge_network::MsgApp & msgApp )
static

Definition at line 214 of file PgePacket.cpp.

◆ getMessageAppArea() [1/2]

const MsgAppArea & pge_network::PgePacket::getMessageAppArea ( const pge_network::PgePacket & pkt)
staticprivate

Definition at line 73 of file PgePacket.cpp.

◆ getMessageAppArea() [2/2]

MsgAppArea & pge_network::PgePacket::getMessageAppArea ( pge_network::PgePacket & pkt)
staticprivate

Definition at line 68 of file PgePacket.cpp.

◆ getMessageAppCount() [1/2]

const uint8_t & pge_network::PgePacket::getMessageAppCount ( const pge_network::PgePacket & pkt)
static

Definition at line 78 of file PgePacket.cpp.

◆ getMessageAppCount() [2/2]

uint8_t & pge_network::PgePacket::getMessageAppCount ( pge_network::PgePacket & pkt)
staticprivate

Definition at line 88 of file PgePacket.cpp.

◆ getMessageAppsTotalActualLengthBytes() [1/2]

const MsgAppArea::TAreaLength & pge_network::PgePacket::getMessageAppsTotalActualLengthBytes ( const pge_network::PgePacket & pkt)
static

Definition at line 83 of file PgePacket.cpp.

◆ getMessageAppsTotalActualLengthBytes() [2/2]

MsgAppArea::TAreaLength & pge_network::PgePacket::getMessageAppsTotalActualLengthBytes ( pge_network::PgePacket & pkt)
staticprivate

Definition at line 93 of file PgePacket.cpp.

◆ getMessageAsClientAppVersionFromClient() [1/2]

const MsgClientAppVersionFromClient & pge_network::PgePacket::getMessageAsClientAppVersionFromClient ( const pge_network::PgePacket & pkt)
static

Definition at line 63 of file PgePacket.cpp.

◆ getMessageAsClientAppVersionFromClient() [2/2]

MsgClientAppVersionFromClient & pge_network::PgePacket::getMessageAsClientAppVersionFromClient ( pge_network::PgePacket & pkt)
static

Definition at line 58 of file PgePacket.cpp.

◆ getMessageAsUserConnected() [1/2]

const MsgUserConnectedServerSelf & pge_network::PgePacket::getMessageAsUserConnected ( const pge_network::PgePacket & pkt)
static

Definition at line 43 of file PgePacket.cpp.

◆ getMessageAsUserConnected() [2/2]

MsgUserConnectedServerSelf & pge_network::PgePacket::getMessageAsUserConnected ( pge_network::PgePacket & pkt)
static

Definition at line 38 of file PgePacket.cpp.

◆ getMessageAsUserDisconnected() [1/2]

const MsgUserDisconnectedFromServer & pge_network::PgePacket::getMessageAsUserDisconnected ( const pge_network::PgePacket & pkt)
static

Definition at line 53 of file PgePacket.cpp.

◆ getMessageAsUserDisconnected() [2/2]

MsgUserDisconnectedFromServer & pge_network::PgePacket::getMessageAsUserDisconnected ( pge_network::PgePacket & pkt)
static

Definition at line 48 of file PgePacket.cpp.

◆ getMsgAppDataFromPkt() [1/2]

template<class MsgAppDataType >
static const MsgAppDataType & pge_network::PgePacket::getMsgAppDataFromPkt ( const pge_network::PgePacket & pkt)
inlinestatic

This convenient function is for the application: the custom application-defined message can be easily extracted from the packet.

Definition at line 250 of file PgePacket.h.

◆ getMsgAppDataFromPkt() [2/2]

template<class MsgAppDataType >
static MsgAppDataType & pge_network::PgePacket::getMsgAppDataFromPkt ( pge_network::PgePacket & pkt)
inlinestatic

This convenient function is for the application: the custom application-defined message can be easily extracted from the packet.

Definition at line 260 of file PgePacket.h.

◆ getMsgAppFromPkt()

pge_network::MsgApp * pge_network::PgePacket::getMsgAppFromPkt ( const pge_network::PgePacket & pkt)
static

Definition at line 149 of file PgePacket.cpp.

◆ getMsgAppIdFromPkt()

const pge_network::MsgApp::TMsgId & pge_network::PgePacket::getMsgAppIdFromPkt ( const pge_network::PgePacket & pkt)
static

Definition at line 161 of file PgePacket.cpp.

◆ getPacketId() [1/2]

const PgePktId & pge_network::PgePacket::getPacketId ( const pge_network::PgePacket & pkt)
static

Definition at line 23 of file PgePacket.cpp.

◆ getPacketId() [2/2]

PgePktId & pge_network::PgePacket::getPacketId ( pge_network::PgePacket & pkt)
static

Definition at line 18 of file PgePacket.cpp.

◆ getServerSideConnectionHandle() [1/2]

const PgeNetworkConnectionHandle & pge_network::PgePacket::getServerSideConnectionHandle ( const pge_network::PgePacket & pkt)
static

Definition at line 33 of file PgePacket.cpp.

◆ getServerSideConnectionHandle() [2/2]

PgeNetworkConnectionHandle & pge_network::PgePacket::getServerSideConnectionHandle ( pge_network::PgePacket & pkt)
static

Definition at line 28 of file PgePacket.cpp.

◆ initPktBasic()

void pge_network::PgePacket::initPktBasic ( pge_network::PgePacket & pkt,
const PgePktId & pktId,
const pge_network::PgeNetworkConnectionHandle & connHandleServerSide,
const AutoFill & autoFill )
staticprivate

Definition at line 98 of file PgePacket.cpp.

◆ initPktMsgApp()

void pge_network::PgePacket::initPktMsgApp ( pge_network::PgePacket & pkt,
const pge_network::PgeNetworkConnectionHandle & connHandleServerSide,
const AutoFill & autoFill = AutoFill::ZERO )
static

Definition at line 202 of file PgePacket.cpp.

◆ initPktPgeMsgClientAppVersionFromClient()

bool pge_network::PgePacket::initPktPgeMsgClientAppVersionFromClient ( pge_network::PgePacket & pkt,
const std::string & sClientAppVersion )
static

Definition at line 173 of file PgePacket.cpp.

◆ initPktPgeMsgUserConnected()

bool pge_network::PgePacket::initPktPgeMsgUserConnected ( pge_network::PgePacket & pkt,
const pge_network::PgeNetworkConnectionHandle & connHandleServerSide,
bool bCurrentClient,
const std::string & sIpAddress )
static

Definition at line 112 of file PgePacket.cpp.

◆ initPktPgeMsgUserDisconnected()

void pge_network::PgePacket::initPktPgeMsgUserDisconnected ( PgePacket & pkt,
const PgeNetworkConnectionHandle & connHandleServerSide )
static

Definition at line 166 of file PgePacket.cpp.

◆ isMessageAppAreaFull()

bool pge_network::PgePacket::isMessageAppAreaFull ( const pge_network::PgePacket & pkt)
static

Definition at line 144 of file PgePacket.cpp.

◆ PgePacket::getMsgAppFromPkt()

static pge_network::MsgApp * pge_network::PgePacket::PgePacket::getMsgAppFromPkt ( pge_network::PgePacket & pkt)
static

◆ preparePktMsgAppFill()

TByte * pge_network::PgePacket::preparePktMsgAppFill ( pge_network::PgePacket & pkt,
MsgApp::TMsgId msgAppId,
MsgApp::TMsgSize nMsgAppDataSize )
static

Definition at line 262 of file PgePacket.cpp.

Friends And Related Symbol Documentation

◆ PgePacketTest

friend class PgePacketTest
friend

Definition at line 210 of file PgePacket.h.

Member Data Documentation

◆ m_app

MsgAppArea pge_network::PgePacket::m_app

Definition at line 370 of file PgePacket.h.

◆ m_clientAppVersionFromClient

MsgClientAppVersionFromClient pge_network::PgePacket::m_clientAppVersionFromClient

Definition at line 369 of file PgePacket.h.

◆ m_connHandleServerSide

PgeNetworkConnectionHandle pge_network::PgePacket::m_connHandleServerSide
private

Definition at line 363 of file PgePacket.h.

◆ [union]

union { ... } pge_network::PgePacket::m_msg

◆ m_pktId

PgePktId pge_network::PgePacket::m_pktId
private

Definition at line 362 of file PgePacket.h.

◆ m_userConnected

MsgUserConnectedServerSelf pge_network::PgePacket::m_userConnected

Definition at line 367 of file PgePacket.h.

◆ m_userDisconnected

MsgUserDisconnectedFromServer pge_network::PgePacket::m_userDisconnected

Definition at line 368 of file PgePacket.h.


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