Network/NetPacket: Add Resize method and fix buffer size

Former-commit-id: 465864559149ef62279038c24649d73c75f38037
This commit is contained in:
Lynix
2016-02-04 14:40:40 +01:00
parent f723d6a29c
commit 6c0215952d
3 changed files with 23 additions and 9 deletions

View File

@@ -66,8 +66,10 @@ namespace Nz
s_availableBuffers.emplace_back(std::make_pair(size, std::move(m_buffer)));
}
void NetPacket::InitStream(std::size_t sizeHint, UInt64 cursorPos, UInt32 openMode)
void NetPacket::InitStream(std::size_t minSize, UInt64 cursorPos, UInt32 openMode)
{
NazaraAssert(minSize >= cursorPos, "Cannot init stream with a smaller size than wanted cursor pos");
{
Nz::LockGuard lock(*s_availableBuffersMutex);
@@ -83,7 +85,9 @@ namespace Nz
if (!m_buffer)
m_buffer = std::make_unique<ByteArray>();
m_buffer->Resize(static_cast<std::size_t>(cursorPos));
if (m_buffer->GetSize() < minSize)
m_buffer->Resize(minSize);
m_memoryStream.SetBuffer(m_buffer.get(), openMode);
m_memoryStream.SetCursorPos(cursorPos);
SetStream(&m_memoryStream);