-void IOUringEngine::submit_read(int fd, size_t len, off_t offset, function<void(string)> cb)
+void IOUringEngine::submit_read(int fd, size_t len, off_t offset, function<void(string_view)> cb)
complete_pread(fd, &s[0], len, offset);
complete_pread(fd, &s[0], len, offset);
-void IOUringEngine::submit_read_internal(io_uring_sqe *sqe, int fd, size_t len, off_t offset, function<void(string)> cb)
+void IOUringEngine::submit_read_internal(io_uring_sqe *sqe, int fd, size_t len, off_t offset, function<void(string_view)> cb)
fprintf(stderr, "Couldn't allocate %zu bytes: %s\n", len, strerror(errno));
exit(1);
}
fprintf(stderr, "Couldn't allocate %zu bytes: %s\n", len, strerror(errno));
exit(1);
}
PendingRead *pending = reinterpret_cast<PendingRead *>(cqe->user_data);
if (cqe->res <= 0) {
fprintf(stderr, "async read failed: %s\n", strerror(-cqe->res));
PendingRead *pending = reinterpret_cast<PendingRead *>(cqe->user_data);
if (cqe->res <= 0) {
fprintf(stderr, "async read failed: %s\n", strerror(-cqe->res));