Add nop()
This commit is contained in:
7
uring.cc
7
uring.cc
@@ -39,6 +39,13 @@ bool URing::Try() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void URing::nop(const std::function<void(int32_t res)> &callback) {
|
||||||
|
auto *entry = GetEntry(callback);
|
||||||
|
auto *sqe = GetSQE();
|
||||||
|
io_uring_prep_nop(sqe);
|
||||||
|
io_uring_sqe_set_data(sqe, reinterpret_cast<void *>(entry));
|
||||||
|
}
|
||||||
|
|
||||||
void URing::write(int fd, const void *buf, size_t count,
|
void URing::write(int fd, const void *buf, size_t count,
|
||||||
const std::function<void(int32_t res)> &callback) {
|
const std::function<void(int32_t res)> &callback) {
|
||||||
std::vector<iovec> vecs{
|
std::vector<iovec> vecs{
|
||||||
|
|||||||
2
uring.h
2
uring.h
@@ -13,6 +13,8 @@ class URing {
|
|||||||
URing(uint32_t num_entries);
|
URing(uint32_t num_entries);
|
||||||
~URing();
|
~URing();
|
||||||
|
|
||||||
|
void nop(const std::function<void(int32_t res)> &callback);
|
||||||
|
|
||||||
// TODO: write/writev don't work for files because they always use offset 0
|
// TODO: write/writev don't work for files because they always use offset 0
|
||||||
void write(int fd, const void *buf, size_t count,
|
void write(int fd, const void *buf, size_t count,
|
||||||
const std::function<void(int32_t res)> &callback);
|
const std::function<void(int32_t res)> &callback);
|
||||||
|
|||||||
Reference in New Issue
Block a user