Network/NetPacket: Inline some methods
Former-commit-id: d54e7b9ff1baf93f6da35e29123d598b84742eac
This commit is contained in:
parent
4312de828e
commit
00ed0e2ae3
|
|
@ -13,7 +13,6 @@
|
||||||
#include <Nazara/Core/Mutex.hpp>
|
#include <Nazara/Core/Mutex.hpp>
|
||||||
#include <Nazara/Core/Stream.hpp>
|
#include <Nazara/Core/Stream.hpp>
|
||||||
#include <Nazara/Network/Config.hpp>
|
#include <Nazara/Network/Config.hpp>
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
namespace Nz
|
namespace Nz
|
||||||
{
|
{
|
||||||
|
|
@ -22,21 +21,21 @@ namespace Nz
|
||||||
friend class Network;
|
friend class Network;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NetPacket();
|
inline NetPacket();
|
||||||
NetPacket(UInt16 netCode, std::size_t sizeHint = 0);
|
inline NetPacket(UInt16 netCode, std::size_t sizeHint = 0);
|
||||||
NetPacket(UInt16 netCode, const void* ptr, std::size_t size);
|
inline NetPacket(UInt16 netCode, const void* ptr, std::size_t size);
|
||||||
NetPacket(const NetPacket&) = delete;
|
NetPacket(const NetPacket&) = delete;
|
||||||
NetPacket(NetPacket&&) = default;
|
NetPacket(NetPacket&&) = default;
|
||||||
~NetPacket();
|
inline ~NetPacket();
|
||||||
|
|
||||||
inline UInt16 GetNetCode() const;
|
inline UInt16 GetNetCode() const;
|
||||||
|
|
||||||
virtual void OnReceive(UInt16 netCode, const void* data, std::size_t size);
|
virtual void OnReceive(UInt16 netCode, const void* data, std::size_t size);
|
||||||
virtual const void* OnSend(std::size_t* newSize) const;
|
virtual const void* OnSend(std::size_t* newSize) const;
|
||||||
|
|
||||||
void Reset();
|
inline void Reset();
|
||||||
void Reset(UInt16 netCode, std::size_t sizeHint = 0);
|
inline void Reset(UInt16 netCode, std::size_t sizeHint = 0);
|
||||||
void Reset(UInt16 netCode, const void* ptr, std::size_t size);
|
inline void Reset(UInt16 netCode, const void* ptr, std::size_t size);
|
||||||
|
|
||||||
inline void SetNetCode(UInt16 netCode);
|
inline void SetNetCode(UInt16 netCode);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,56 @@
|
||||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||||
|
|
||||||
#include <Nazara/Core/Debug.hpp>
|
#include <Nazara/Core/Debug.hpp>
|
||||||
|
#include <Nazara/Network/Enums.hpp>
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
namespace Nz
|
namespace Nz
|
||||||
{
|
{
|
||||||
|
inline NetPacket::NetPacket() :
|
||||||
|
m_netCode(NetCode_Invalid)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
inline NetPacket::NetPacket(UInt16 netCode, std::size_t sizeHint)
|
||||||
|
{
|
||||||
|
Reset(netCode, sizeHint);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline NetPacket::NetPacket(UInt16 netCode, const void* ptr, std::size_t size)
|
||||||
|
{
|
||||||
|
Reset(netCode, ptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline NetPacket::~NetPacket()
|
||||||
|
{
|
||||||
|
FreeStream();
|
||||||
|
}
|
||||||
|
|
||||||
inline UInt16 NetPacket::GetNetCode() const
|
inline UInt16 NetPacket::GetNetCode() const
|
||||||
{
|
{
|
||||||
return m_netCode;
|
return m_netCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void NetPacket::Reset()
|
||||||
|
{
|
||||||
|
FreeStream();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void NetPacket::Reset(UInt16 netCode, std::size_t sizeHint)
|
||||||
|
{
|
||||||
|
InitStream(HeaderSize + sizeHint, HeaderSize, OpenMode_WriteOnly);
|
||||||
|
m_netCode = netCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void NetPacket::Reset(UInt16 netCode, const void* ptr, std::size_t size)
|
||||||
|
{
|
||||||
|
InitStream(HeaderSize + size, HeaderSize, OpenMode_ReadOnly);
|
||||||
|
m_buffer->Resize(HeaderSize + size);
|
||||||
|
std::memcpy(m_buffer->GetBuffer() + HeaderSize, ptr, size);
|
||||||
|
|
||||||
|
m_netCode = netCode;
|
||||||
|
}
|
||||||
|
|
||||||
inline void NetPacket::SetNetCode(UInt16 netCode)
|
inline void NetPacket::SetNetCode(UInt16 netCode)
|
||||||
{
|
{
|
||||||
m_netCode = netCode;
|
m_netCode = netCode;
|
||||||
|
|
|
||||||
|
|
@ -5,31 +5,10 @@
|
||||||
#include <Nazara/Network/NetPacket.hpp>
|
#include <Nazara/Network/NetPacket.hpp>
|
||||||
#include <Nazara/Core/LockGuard.hpp>
|
#include <Nazara/Core/LockGuard.hpp>
|
||||||
#include <Nazara/Core/MemoryView.hpp>
|
#include <Nazara/Core/MemoryView.hpp>
|
||||||
#include <Nazara/Network/Enums.hpp>
|
|
||||||
#include <Nazara/Network/Debug.hpp>
|
#include <Nazara/Network/Debug.hpp>
|
||||||
|
|
||||||
namespace Nz
|
namespace Nz
|
||||||
{
|
{
|
||||||
NetPacket::NetPacket() :
|
|
||||||
m_netCode(NetCode_Invalid)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
NetPacket::NetPacket(UInt16 netCode, std::size_t sizeHint)
|
|
||||||
{
|
|
||||||
Reset(netCode, sizeHint);
|
|
||||||
}
|
|
||||||
|
|
||||||
NetPacket::NetPacket(UInt16 netCode, const void* ptr, std::size_t size)
|
|
||||||
{
|
|
||||||
Reset(netCode, ptr, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
NetPacket::~NetPacket()
|
|
||||||
{
|
|
||||||
FreeStream();
|
|
||||||
}
|
|
||||||
|
|
||||||
void NetPacket::OnReceive(UInt16 netCode, const void* data, std::size_t size)
|
void NetPacket::OnReceive(UInt16 netCode, const void* data, std::size_t size)
|
||||||
{
|
{
|
||||||
Reset(netCode, data, size);
|
Reset(netCode, data, size);
|
||||||
|
|
@ -51,26 +30,6 @@ namespace Nz
|
||||||
return m_buffer->GetBuffer();
|
return m_buffer->GetBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetPacket::Reset()
|
|
||||||
{
|
|
||||||
FreeStream();
|
|
||||||
}
|
|
||||||
|
|
||||||
void NetPacket::Reset(UInt16 netCode, std::size_t sizeHint)
|
|
||||||
{
|
|
||||||
InitStream(HeaderSize + sizeHint, HeaderSize, OpenMode_WriteOnly);
|
|
||||||
m_netCode = netCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NetPacket::Reset(UInt16 netCode, const void* ptr, std::size_t size)
|
|
||||||
{
|
|
||||||
InitStream(HeaderSize + size, HeaderSize, OpenMode_ReadOnly);
|
|
||||||
m_buffer->Resize(HeaderSize + size);
|
|
||||||
std::memcpy(m_buffer->GetBuffer() + HeaderSize, ptr, size);
|
|
||||||
|
|
||||||
m_netCode = netCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NetPacket::DecodeHeader(const void* data, UInt16* packetSize, UInt16* netCode)
|
bool NetPacket::DecodeHeader(const void* data, UInt16* packetSize, UInt16* netCode)
|
||||||
{
|
{
|
||||||
MemoryView stream(data, HeaderSize);
|
MemoryView stream(data, HeaderSize);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue