Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 932 Bytes

README.md

File metadata and controls

49 lines (36 loc) · 932 Bytes

gouring

License: MIT Go Reference

go get github.com/ii64/gouring

Example

// setup
h, err := gouring.New(256, 0)
if err != nil { /*...*/ }
defer h.Close() 

sqe := h.GetSQE()
b := []byte("io_uring!\n")
PrepWrite(sqe, 1, &b[0], len(b), 0)

submitted, err := h.SubmitAndWait(1)
if err != nil { /*...*/ }
println(submitted) // 1

var cqe *gouring.IoUringCqe
err = h.WaitCqe(&cqe) 
if err != nil { /*...*/ } // check also EINTR

_ = cqe.UserData
_ = cqe.Res
_ = cqe.Flags

Graph

SQPOLL non-SQPOLL
sqpoll_fig nonsqpoll_fig

Reference

https://github.com/axboe/liburing