/* */ #include "SocketBuffer.h" #include "SocketCore.h" #include namespace aria2 { SocketBuffer::SocketBuffer(const SharedHandle& socket): _socket(socket) {} SocketBuffer::~SocketBuffer() {} void SocketBuffer::feedSendBuffer(const std::string& data) { _sendbuf += data; } ssize_t SocketBuffer::feedAndSend(const std::string& data) { feedSendBuffer(data); return send(); } ssize_t SocketBuffer::send() { if(_sendbuf.empty()) { return 0; } ssize_t len = _socket->writeData(_sendbuf.c_str(), _sendbuf.size()); _sendbuf.erase(0, len); return len; } bool SocketBuffer::sendBufferIsEmpty() const { return _sendbuf.empty(); } } // namespace aria2