Exemple #1
0
	void NetMessage::EnsureWritableBytes(size_t size)
	{
		if (Writeable() < size)
		{
			MakeSpace(size);
		}
		assert(Writeable() >= size);
	}
Exemple #2
0
	void NetMessage::MakeSpace(size_t size)
	{
		if (Writeable() + Prependable() < size)
		{
			if (!IsDynamic())
			{
				SetDynamic();
			}
			dynamic_data_->resize(writer_pos_ + size);
		}
		else
		{
			const size_t readable_size = Readable();
			if (!IsDynamic())
			{
				memcpy(static_data_.data(), static_data_.data() + reader_pos_, readable_size);
			}
			else
			{
				memcpy(dynamic_data_->data(), dynamic_data_->data() + reader_pos_, readable_size);
			}
			reader_pos_ = 0;
			writer_pos_ = readable_size;
			assert(readable_size == Readable());
		}
	}
Exemple #3
0
	void NetMessage::HasWritten(size_t size)
	{
		assert(Writeable() >= size);
		writer_pos_ += size;
	}
Exemple #4
0
				inline size_t WriteableBytes()
				{
					return Writeable() ? m_buffer_len - m_write_idx : 0;
				}