Network/NetPacket: Add Resize method and fix buffer size
Former-commit-id: 465864559149ef62279038c24649d73c75f38037
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user