2
3
4
5
16 if (len < ReadableBytes())
28 std::string result(Peek(), len);
35 if (WriteableBytes() < len)
48 EnsureWriteableBytes(len);
49 std::copy(data, data + len, BeginWrite());
55 char buffer[65536] = {};
57 int n = ::recv(fd, buffer,
sizeof(buffer), 0);
61 *saveErrno = WSAGetLastError();
65 const std::string str(buffer, n);
74 int n = ::send(fd, Peek(), ReadableBytes(), 0);
78 *saveErrno = WSAGetLastError();
86 if (WriteableBytes() + HeaderBytes() < len + header)
88 m_Buffer.resize(m_WriterIndex + len);
92 const size_t readableBytes = ReadableBytes();
94 Begin() + m_ReaderIndex,
95 Begin() + m_WriterIndex,
99 m_ReaderIndex = header;
100 m_WriterIndex = m_ReaderIndex + readableBytes;
std::string RetrieveAsString(size_t len)
Get retrieve area data as string.
void EnsureWriteableBytes(size_t len)
Ensure enough bytes to write.
size_t WriteFd(SOCKET fd, int *saveErrno) const
Write to Socket.
size_t ReadFd(SOCKET fd, int *saveErrno)
Read from Socket.
void Append(const char *data, size_t len)
Append another buffer data.
void Retrieve(size_t len)
Retrieve some buffer data from data area.
void RetrieveAll()
Retrieve all buffer data.
void expend(size_t len)
Expend buffer size.
void Append(const std::string &msg)
Append Message to this buffer.
Wrapper of readwrite buffer.