Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//====== Copyright (c), Valve Corporation, All rights reserved. =======
//
// Purpose: Holds the CNetPacket class
//
//=============================================================================
#ifndef GCNETPACKET_H
#define GCNETPACKET_H
namespace GCSDK {
//-----------------------------------------------------------------------------
// Purpose: reference-counted received network packet
//-----------------------------------------------------------------------------
class CNetPacket { public: CNetPacket(); ~CNetPacket();
//called to allocate a buffer for the net packet of the specified size. This takes an optional pointer
//of which it will copy into the data if appropriate
void Init( uint32 cubData, const void* pCopyData = NULL );
//called when working with a net packet that you want to reference a separate buffer
void InitAdoptBuffer( uint32 cubData, uint8* pubData ); void OrphanBuffer();
// data
uint8 *PubData() const { return m_pubData; } uint CubData() const { return m_cubData; }
// ownership
void AddRef(); void Release(); private: int m_cRef; // reference count, deletes self when 0
uint m_cubData; uint8 *m_pubData; };
} // namespace GCSDK
#endif // GCNETPACKET_H
|