diff --git a/src/server.cpp b/src/server.cpp index d42848e..5ccb72d 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -456,9 +456,8 @@ void Server::acceptRpcClient(kj::Own&& listener) { // wrapped by stream and invoke the provided callback with the read data. // Repeats until ::read returns <= 0 kj::Promise Server::handleFdRead(kj::AsyncInputStream* stream, std::function cb) { - std::string buffer; - buffer.reserve(PROC_IO_BUFSIZE); - return stream->tryRead((void*)buffer.data(), 1, PROC_IO_BUFSIZE).then(kj::mvCapture(kj::mv(buffer), [this,stream,cb](std::string&& buffer, size_t sz) { + std::vector buffer(PROC_IO_BUFSIZE); + return stream->tryRead((void*)buffer.data(), 1, PROC_IO_BUFSIZE).then(kj::mvCapture(kj::mv(buffer), [this,stream,cb](std::vector&& buffer, size_t sz) { if(sz > 0) { cb(buffer.data(), sz); return handleFdRead(stream, cb);